الفرق بين المراجعتين لصفحة: «Kotlin/collections/find»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>find()</code> في لغة Kotlin}}</noinclude> تضيف الدالة<code>find()</code> إلى المعامل <code>d...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>find()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>find()</code> في لغة Kotlin}}</noinclude> | ||
تعيد الدالة<code>find()</code> العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد <code>null.</code> | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | |||
inline fun < | inline fun <T> Array<out T>.find( | ||
predicate: (T) -> Boolean | predicate: (T) -> Boolean | ||
): | ): T? | ||
inline fun | inline fun ByteArray.find( | ||
predicate: (Byte) -> Boolean | predicate: (Byte) -> Boolean | ||
): | ): Byte? | ||
inline fun | inline fun ShortArray.find( | ||
predicate: (Short) -> Boolean | predicate: (Short) -> Boolean | ||
): | ): Short? | ||
inline fun | inline fun IntArray.find(predicate: (Int) -> Boolean): Int? (source) | ||
inline fun LongArray.find( | |||
): | |||
inline fun | |||
predicate: (Long) -> Boolean | predicate: (Long) -> Boolean | ||
): | ): Long? | ||
inline fun | inline fun FloatArray.find( | ||
predicate: (Float) -> Boolean | predicate: (Float) -> Boolean | ||
): | ): Float? | ||
inline fun | inline fun DoubleArray.find( | ||
predicate: (Double) -> Boolean | predicate: (Double) -> Boolean | ||
): | ): Double? | ||
inline fun | inline fun BooleanArray.find( | ||
predicate: (Boolean) -> Boolean | predicate: (Boolean) -> Boolean | ||
): | ): Boolean? | ||
inline fun | inline fun CharArray.find( | ||
predicate: (Char) -> Boolean | predicate: (Char) -> Boolean | ||
): | ): Char? | ||
inline fun <T | inline fun <T> Iterable<T>.find( | ||
predicate: (T) -> Boolean | predicate: (T) -> Boolean | ||
): | ): T? | ||
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | ||
==القيم المٌعادة== | ==القيم المٌعادة== | ||
العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد <code>null.</code> | |||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()find</code> مع | ===استخدام الدالة <code>()find</code> مع المصفوفات: الحالة الأولى=== | ||
تعرف الشيفرة | تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>3</code> ، ثم تستخدم الدالة <code>()find</code> لإيجاد العنصر الأول في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val array = arrayOf(9, 2, 3, 2, 5, 1) | ||
val predicate : (Int) -> Boolean = { it < 3 } | val predicate : (Int) -> Boolean = { it < 3 } | ||
println(array.find(predicate)) // 2 | |||
} | |||
</syntaxhighlight> | |||
===استخدام الدالة <code>()find</code> مع المصفوفات: الحالة الثانية=== | |||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>0</code> ، ثم تستخدم الدالة <code>()find</code> لإيجاد العنصر الأول في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ولمّا كانت كل عناصر <code>array</code> لا تحقق ذلك فستعيد القيمة <code>null</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | |||
val array = arrayOf(9, 2, 3, 2, 5, 1) | |||
val predicate : (Int) -> Boolean = { it < 0 } | |||
println( | println(array.find(predicate)) // null | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/ | *<code>[[Kotlin/collections/findLast|findLast()]]</code>: تعيد العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد <code>null.</code> | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/ | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find.html الدالة find() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 18:46، 15 مايو 2018
تعيد الدالةfind()
العنصر الأول من المصفوفة أو المجموعة التي استُدعيت عبرها والذي يحقق الشرط المنطقي predicate
المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد null.
البنية العامة
inline fun <T> Array<out T>.find(
predicate: (T) -> Boolean
): T?
inline fun ByteArray.find(
predicate: (Byte) -> Boolean
): Byte?
inline fun ShortArray.find(
predicate: (Short) -> Boolean
): Short?
inline fun IntArray.find(predicate: (Int) -> Boolean): Int? (source)
inline fun LongArray.find(
predicate: (Long) -> Boolean
): Long?
inline fun FloatArray.find(
predicate: (Float) -> Boolean
): Float?
inline fun DoubleArray.find(
predicate: (Double) -> Boolean
): Double?
inline fun BooleanArray.find(
predicate: (Boolean) -> Boolean
): Boolean?
inline fun CharArray.find(
predicate: (Char) -> Boolean
): Char?
inline fun <T> Iterable<T>.find(
predicate: (T) -> Boolean
): T?
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المٌعادة
العنصر الأول من المصفوفة أو المجموعة التي استُدعيت عبرها والذي يحقق الشرط المنطقي predicate
المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد null.
أمثلة
استخدام الدالة ()find
مع المصفوفات: الحالة الأولى
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من ستة أعداد باستخدام الدالة ()arrayOf
، ثم تُعرّف الدالة المنطقية ()predicate
التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من 3
، ثم تستخدم الدالة ()find
لإيجاد العنصر الأول في المصفوفةarray
الذي يحقق الدالة ()predicate
، ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
val predicate : (Int) -> Boolean = { it < 3 }
println(array.find(predicate)) // 2
}
استخدام الدالة ()find
مع المصفوفات: الحالة الثانية
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من ستة أعداد باستخدام الدالة ()arrayOf
، ثم تُعرّف الدالة المنطقية ()predicate
التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من 0
، ثم تستخدم الدالة ()find
لإيجاد العنصر الأول في المصفوفةarray
الذي يحقق الدالة ()predicate
، ولمّا كانت كل عناصر array
لا تحقق ذلك فستعيد القيمة null
، ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
val predicate : (Int) -> Boolean = { it < 0 }
println(array.find(predicate)) // null
}
انظر أيضًا
findLast()
: تعيد العنصر الأخير من المصفوفة أو المجموعة التي استُدعيت عبرها والذي يحقق الشرط المنطقيpredicate
المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيدnull.