الفرق بين المراجعتين لصفحة: «Kotlin/collections/contentDeepEquals»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
تعيد الدالة <code>contentDeepEquals()</code> القيمة <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | تعيد الدالة <code>contentDeepEquals()</code> القيمة <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | ||
إن كان هناك عنصران متقابلان وكلاهما مصفوفتان متشعبتان، فإنهما | إن كان هناك عنصران متقابلان وكلاهما مصفوفتان متشعبتان، فإنهما ستقارَنان أيضًا بعمق. وإن كانت إحدى المصفوفتان تحتوي على مرجع لها (تحتوي على نفسها) على أيّ مستوى من مستويات التشعب، فإن سلوك الدالة سيكون غير محدد. | ||
==البنية العامة== | ==البنية العامة== | ||
سطر 17: | سطر 17: | ||
<code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()contains</code> مع | ===استخدام الدالة <code>()contains</code> مع مصفوفتين متساويتين === | ||
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم <code>array</code> | تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم <code>array</code> و <code>array2</code>مكونتان من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(1,2,3,4) | val array = arrayOf(1,2,3,4) | ||
سطر 26: | سطر 26: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===استخدام الدالة <code>()contains</code> مع | ===استخدام الدالة <code>()contains</code> مع مصفوفتين غير متساويتين === | ||
تعرف الشيفرة الآتية | تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ولكن تختلفان في أحد العناصر ب باسم <code>array</code> و <code>array2</code> مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(1,2,3,4) | val array = arrayOf(1,2,3,4) | ||
val array2 = arrayOf(1,2,3, | val array2 = arrayOf(1,2,3,6) | ||
println(array.contentDeepEquals(array2)) // | println(array.contentDeepEquals(array2)) // false | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/contentDeepEquals| | *<code>[[Kotlin/collections/contentDeepEquals|contentEquals()]]</code>: تعيد القيمة <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بنيويًا (''structurally'' equal)، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | ||
==مصادر== | ==مصادر== |
مراجعة 18:05، 12 مايو 2018
تعيد الدالة contentDeepEquals()
القيمة true
إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد false
خلاف ذلك.
إن كان هناك عنصران متقابلان وكلاهما مصفوفتان متشعبتان، فإنهما ستقارَنان أيضًا بعمق. وإن كانت إحدى المصفوفتان تحتوي على مرجع لها (تحتوي على نفسها) على أيّ مستوى من مستويات التشعب، فإن سلوك الدالة سيكون غير محدد.
البنية العامة
inline infix fun <T> Array<out T>.contentDeepEquals(
other: Array<out T>
): Boolean
الإصدار المطلوب: Kotlin 1.1
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
true
إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد false
خلاف ذلك.
أمثلة
استخدام الدالة ()contains
مع مصفوفتين متساويتين
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم array
و array2
مكونتان من أربعة أعداد باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()contains
للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = arrayOf(1,2,3,4)
println(array.contentDeepEquals(array2)) // true
}
استخدام الدالة ()contains
مع مصفوفتين غير متساويتين
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ولكن تختلفان في أحد العناصر ب باسم array
و array2
مكونة من أربعة أعداد باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()contains
للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = arrayOf(1,2,3,6)
println(array.contentDeepEquals(array2)) // false
}
انظر أيضًا
contentEquals()
: تعيد القيمةtrue
إن كانت المصفوفتان المحددتان متساويتان بنيويًا (structurally equal)، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيدfalse
خلاف ذلك.