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

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

تعيد الدالة contentDeepEquals()‎ القيمة true إن كانت المصفوفة أو المجموعة التي استُدعيت عبرها تحتوي العنصر الممرّر إليها، وفي حال استُدعيت عبر قاموس فتعيد true إن كان ذلك القاموس يحتوي ذلك العنصر كمفتاح (key)، وتعيد false خلاف ذلك.

يمكن استدعاء contentDeepEquals()‎ عبر قاموس بالصياغة x in map للتحقق من أنّ العنصر x ينتمي إلى القاموس.

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

يمكن استدعاء الدالة contains()‎عبر المصفوفات :

operator fun <T> Array<out T>.contains(element: T): Boolean 
operator fun ByteArray.contains(element: Byte): Boolean 
operator fun ShortArray.contains(element: Short): Boolean 
operator fun IntArray.contains(element: Int): Boolean 
operator fun LongArray.contains(element: Long): Boolean 
operator fun FloatArray.contains(element: Float): Boolean 
operator fun DoubleArray.contains(element: Double): Boolean 
operator fun BooleanArray.contains(element: Boolean): Boolean 
operator fun CharArray.contains(element: Char): Boolean

يمكن استدعاء الدالة contains()‎عبر المجموعات:

operator fun <T> Iterable<T>.contains(element: T): Boolean

يمكن استدعاء الدالة contains()‎عبر القواميس (maps):

inline operator fun <K, V> Map<out K, V>.contains(
    key: K
): Boolean

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

ويُلاحظ وجود الكلمة المفتاحية operator للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقًا.

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

true إن كانت المصفوفة أو المجموعة التي استُدعيت الدالة عبرها تحتوي العنصر الممرّر إليها، وفي حال استُدعيت عبر قاموس فتعيد true إن كان ذلك القاموس يحتوي ذلك العنصر كمفتاح (key). وتعيد false خلاف ذلك.

أمثلة

استخدام الدالة ()contains مع اللوائح

تعرف الشيفرة الآتية لائحة باسم list مكونة من خمسة حروف باستخدام الدالة ()listOf، ثم تستخدم الدالة ()contains للتحقق من أنّ الحرفين 'd' و 'x' ينتميان إلى اللائحة list ثم تطبع الناتج:

fun main(args: Array<String>) {
val list = listOf('a', 'b', 'c', 'd', 'e')

println(list.contains('d')) // true
println(list.contains('x')) // false
}

استخدام الدالة ()contains مع القواميس

تعرف الشيفرة الآتية قاموسًا باسم map مكونة من زوجين باستخدام الدالة ()hashMapOf، ثم تستخدم الدالة ()contains للتحقق من أنّ السلسلتين النصيتين'foo' و 'fooo' تنتميان إلى مفاتيح القاموس (keys) ثم تطبع الناتج:

fun main(args: Array<String>) {
val map = hashMapOf("foo" to 1, "bar" to 2)

println(map.contains("foo")) // true
println(map.contains("fooo")) // false
}

انظر أيضًا

  • DeepEquals()‎: تتحقق من أن مصفوفتين متساويتان بعمق (deeply equal).

مصادر