الفرق بين المراجعتين لصفحة: «Kotlin/collections/contentDeepEquals»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 17: | سطر 17: | ||
<code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>() | ===استخدام الدالة <code>()contentDeepEquals</code> مع مصفوفتين متساويتين === | ||
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم <code>array</code> و <code>array2</code>مكونتان من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>() | تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم <code>array</code> و <code>array2</code>مكونتان من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contentDeepEquals</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) | ||
سطر 27: | سطر 27: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===استخدام الدالة <code>() | ===استخدام الدالة <code>()contentDeepEquals</code> مع مصفوفتين غير متساويتين === | ||
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ولكن تختلفان في أحد العناصر ب باسم <code>array</code> و <code>array2</code> مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>() | تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ولكن تختلفان في أحد العناصر ب باسم <code>array</code> و <code>array2</code> مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contentDeepEquals</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) |
مراجعة 18:44، 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
خلاف ذلك.
أمثلة
استخدام الدالة ()contentDeepEquals
مع مصفوفتين متساويتين
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم array
و array2
مكونتان من أربعة أعداد باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()contentDeepEquals
للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = arrayOf(1,2,3,4)
println(array.contentDeepEquals(array2)) // true
}
استخدام الدالة ()contentDeepEquals
مع مصفوفتين غير متساويتين
تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ولكن تختلفان في أحد العناصر ب باسم array
و array2
مكونة من أربعة أعداد باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()contentDeepEquals
للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:
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
خلاف ذلك.