الدالة contentDeepHashCode()‎ في لغة Kotlin

من موسوعة حسوب
مراجعة 18:58، 12 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>contentDeepHashCode()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>contentDeepHashCode()‎</code...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

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

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

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 للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

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

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

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

أمثلة

استخدام الدالة ()contentEquals مع مصفوفتين متساويتين

تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ونفس العناصر بنفس الترتيب باسم array و array2مكونتان من أربعة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()contentEquals للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:

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

println(array.contentEquals(array2)) // true
}

استخدام الدالة ()contentDeepHashCode مع مصفوفتين غير متساويتين

تعرف الشيفرة الآتية مصفوفتين لهما نفس عدد العناصر ولكن تختلفان في أحد العناصر ب باسم array و array2 مكونة من أربعة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()contentEquals للتحقق من أنّ الحرفين المصفوفتين متساويتين بعمق ثم تطبع الناتج:

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

println(array.contentEquals(array2)) // false
}

انظر أيضًا

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

مصادر