الفرق بين المراجعتين ل"Kotlin/collections/contentEquals"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (تدقيق الأمثلة.)
ط
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>contentEquals()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>contentEquals()‎</code> في Kotlin}}</noinclude>
 
تتحقَّق الدالة <code>contentEquals()‎</code> من تساوي [[Kotlin/Array|مصفوفتين]] بنيويًا (''structurally'' equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب.   
 
تتحقَّق الدالة <code>contentEquals()‎</code> من تساوي [[Kotlin/Array|مصفوفتين]] بنيويًا (''structurally'' equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب.   
  
سطر 36: سطر 36:
  
 
وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة)]]، ووجود الكلمة المفتاحية <code>infix</code> يدل على إمكانية استدعاء الدالة بنمط التدوين الداخلي (Infix notation)، أي من خلال حذف المعامل <code>.</code> والأقواس <code>()</code> المُستخدَمَين في الاستدعاء عادةً (راجع للمزيد من التفاصيل <nowiki/>[[Kotlin/functions#.D8.A7.D9.84.D8.AA.D8.AF.D9.88.D9.8A.D9.86 .D8.A7.D9.84.D8.AF.D8.A7.D8.AE.D9.84.D9.8A.D9.91 .28Infix notation.29|توثيق التدوين الداخلي)]].
 
وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة)]]، ووجود الكلمة المفتاحية <code>infix</code> يدل على إمكانية استدعاء الدالة بنمط التدوين الداخلي (Infix notation)، أي من خلال حذف المعامل <code>.</code> والأقواس <code>()</code> المُستخدَمَين في الاستدعاء عادةً (راجع للمزيد من التفاصيل <nowiki/>[[Kotlin/functions#.D8.A7.D9.84.D8.AA.D8.AF.D9.88.D9.8A.D9.86 .D8.A7.D9.84.D8.AF.D8.A7.D8.AE.D9.84.D9.8A.D9.91 .28Infix notation.29|توثيق التدوين الداخلي)]].
 +
 +
== المعاملات ==
 +
 +
=== <code>other</code> ===
 +
المصفوفة الأخرى المراد التحقق من تساويها بنيويًّا مع المصفوفة المعطاة.
 +
 
==القيم المعادة ==
 
==القيم المعادة ==
 
تُعاد القيمة المنطقية <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بنيويًا (''structurally'' equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب، أو القيمة <code>false</code> خلاف ذلك.  
 
تُعاد القيمة المنطقية <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بنيويًا (''structurally'' equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب، أو القيمة <code>false</code> خلاف ذلك.  
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()contentEquals</code> مع مصفوفتين متساويتين ===
 
 
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفتين]] لهما نفس العناصر وبنفس العدد والترتيب باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()contentEquals</code> للتحقق من أنّ هاتين المصفوفتين متساويتان بنيويًّا:<syntaxhighlight lang="kotlin">
 
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفتين]] لهما نفس العناصر وبنفس العدد والترتيب باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()contentEquals</code> للتحقق من أنّ هاتين المصفوفتين متساويتان بنيويًّا:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
     val array1 = arrayOf(1, 2, 3, 4)
 
     val array1 = arrayOf(1, 2, 3, 4)
 
     val array2 = arrayOf(1, 2, 3, 4)
 
     val array2 = arrayOf(1, 2, 3, 4)
 +
    val array3 = arrayOf(1, 2, 3, 6)
  
 
     println(array1.contentEquals(array2)) // true
 
     println(array1.contentEquals(array2)) // true
}
+
     println(array1.contentEquals(array3)) // false
</syntaxhighlight>
 
 
===استخدام الدالة <code>()contentEquals</code> مع مصفوفتين غير متساويتين ===
 
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفتين]] لهما عناصر مختلفة باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()contentEquals</code> لمعرفة إن كانت هاتين المصفوفتين متساويتان بنيويًّا:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
    val array = arrayOf(1, 2, 3, 4)
 
    val array2 = arrayOf(1, 2, 3, 6)
 
 
 
     println(array.contentEquals(array2)) // false
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 64: سطر 61:
  
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/content-equals.html الدالة contentEquals()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/content-equals.html صفحة الدالة contentEquals()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 07:28، 8 سبتمبر 2018

تتحقَّق الدالة contentEquals()‎ من تساوي مصفوفتين بنيويًا (structurally equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب.

البنية العامة

inline infix fun <T> Array<out T>.contentEquals(
    other: Array<out T>
): Boolean 
inline infix fun ByteArray.contentEquals(
    other: ByteArray
): Boolean 
inline infix fun ShortArray.contentEquals(
    other: ShortArray
): Boolean 
inline infix fun IntArray.contentEquals(
    other: IntArray
): Boolean 
inline infix fun LongArray.contentEquals(
    other: LongArray
): Boolean 
inline infix fun FloatArray.contentEquals(
    other: FloatArray
): Boolean 
inline infix fun DoubleArray.contentEquals(
    other: DoubleArray
): Boolean 
inline infix fun BooleanArray.contentEquals(
    other: BooleanArray
): Boolean 
inline infix fun CharArray.contentEquals(
    other: CharArray
): Boolean

الإصدار المطلوب: Kotlin 1.1

وجود الكلمة المفتاحية inline يدل على أنَّ الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة)، ووجود الكلمة المفتاحية infix يدل على إمكانية استدعاء الدالة بنمط التدوين الداخلي (Infix notation)، أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً (راجع للمزيد من التفاصيل توثيق التدوين الداخلي).

المعاملات

other

المصفوفة الأخرى المراد التحقق من تساويها بنيويًّا مع المصفوفة المعطاة.

القيم المعادة 

تُعاد القيمة المنطقية true إن كانت المصفوفتان المحددتان متساويتان بنيويًا (structurally equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب، أو القيمة false خلاف ذلك.

أمثلة

تعرِّف الشيفرة الآتية مصفوفتين لهما نفس العناصر وبنفس العدد والترتيب باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()contentEquals للتحقق من أنّ هاتين المصفوفتين متساويتان بنيويًّا:

fun main(args: Array<String>) {
    val array1 = arrayOf(1, 2, 3, 4)
    val array2 = arrayOf(1, 2, 3, 4)
    val array3 = arrayOf(1, 2, 3, 6)

    println(array1.contentEquals(array2)) // true
    println(array1.contentEquals(array3)) // false
}

انظر أيضًا

  • الدالة contentDeepEquals()‎: تتحقَّق من تساوي مصفوفتين بالعُمق، أي أنَّهما تحتويان على نفس العناصر وبنفس الترتيب.
  • الدالة contentToString()‎: تعيد سلسلة نصية تمثل محتوى المصفوفة التي استُدعيت معها كما لو كانت قائمة.
  • الدالة contentHashCode()‎: تعيد شيفرة hash لمحتوى المصفوفة التي استُدعيت معها كما لو كانت قائمة.

مصادر