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

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 07:27، 8 سبتمبر 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
}

انظر أيضًا

مصادر