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

من موسوعة حسوب
مراجعة 09:21، 5 يوليو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (تدقيق الأمثلة.)

تشِّفر الدالة contentDeepHashCode()‎ محتوى المصفوفة التي استُدعيت معها كما لو كانت قائمة إلى شيفرة Hash. تعامل المصفوفات المُتشعبة مثل القوائم أيضًا.

إن حَوَت المصفوفة نفسها في أي مستوى من المستويات المتشعبة، فسيكون سلوك الدالة غير محدَّد.

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

inline fun <T> Array<out T>.contentDeepHashCode(): Int

الإصدار المطلوب: Kotlin 1.1

وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة).

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

 شيفرة Hash لمحتوى المصفوفة المعطاة كما لو كانت قائمة.

أمثلة

استخدام الدالة ()contentDeepHashCode مع المصفوفات المتشعبة

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()contentDeepHashCode للحصول على شيفرة Hash تلك المصفوفة:

fun main(args: Array<String>) {
    val array = arrayOf(
        intArrayOf(3, 7, 9),
        intArrayOf(0, 1, 0),
        intArrayOf(2, 4, 8)
    )
    println(array.contentDeepHashCode()) // 32603018
}

انظر أيضًا

مصادر