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