الدالة contentDeepEquals()
في لغة Kotlin
تعيد الدالة 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).