الفرق بين المراجعتين لصفحة: «Kotlin/collections/contentDeepEquals»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>contentDeepEquals()</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>contentDeepEquals()</code> ا...' |
لا ملخص تعديل |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>contentDeepEquals()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>contentDeepEquals()</code> في لغة Kotlin}}</noinclude> | ||
تعيد الدالة <code>contentDeepEquals()</code> القيمة <code>true</code> إن كانت | تعيد الدالة <code>contentDeepEquals()</code> القيمة <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | ||
إن كان هناك عنصران متقابلان وكلاهما مصفوفتان متشعبتان، فإنهما ستقارنان أيضًا بعمق. وإن كانت إحدى المصفوفتان تحتوي على مرجع لها على أيّ مستوى من مستويات التشعب، فإن سلوك الدالة سيكون غير محدد. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | |||
inline infix fun <T> Array<out T>.contentDeepEquals( | |||
other: Array<out T> | |||
): Boolean | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<u>'''الإصدار المطلوب: Kotlin 1.1'''</u> | |||
</ | |||
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | |||
==القيم المعادة== | ==القيم المعادة== | ||
<code>true</code> إن كانت | <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()contains</code> مع | ===استخدام الدالة <code>()contains</code> مع المصفوفات === | ||
تعرف الشيفرة الآتية | تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم <code>array</code> مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val array = arrayOf(1,2,3,4) | ||
val array2 = arrayOf(1,2,3,4) | |||
println( | println(array.contentDeepEquals(array2)) // true | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| سطر 42: | سطر 30: | ||
تعرف الشيفرة الآتية قاموسًا باسم <code>map</code> مكونة من زوجين باستخدام الدالة <code>()hashMapOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ السلسلتين النصيتين<code>'foo'</code> و <code>'fooo'</code> تنتميان إلى مفاتيح القاموس (keys) ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | تعرف الشيفرة الآتية قاموسًا باسم <code>map</code> مكونة من زوجين باستخدام الدالة <code>()hashMapOf</code>، ثم تستخدم الدالة <code>()contains</code> للتحقق من أنّ السلسلتين النصيتين<code>'foo'</code> و <code>'fooo'</code> تنتميان إلى مفاتيح القاموس (keys) ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val array = arrayOf(1,2,3,4) | ||
val array2 = arrayOf(1,2,3,4) | |||
println( | println(array.contentDeepEquals(array2)) // true | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
مراجعة 17:56، 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 مكونة من أربعة أعداد باستخدام الدالة ()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 مع القواميس
تعرف الشيفرة الآتية قاموسًا باسم map مكونة من زوجين باستخدام الدالة ()hashMapOf، ثم تستخدم الدالة ()contains للتحقق من أنّ السلسلتين النصيتين'foo' و 'fooo' تنتميان إلى مفاتيح القاموس (keys) ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = arrayOf(1,2,3,4)
println(array.contentDeepEquals(array2)) // true
}
انظر أيضًا
DeepEquals(): تتحقق من أن مصفوفتين متساويتان بعمق (deeply equal).