الفرق بين المراجعتين لصفحة: «Kotlin/collections/find»
< Kotlin | collections
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>find()</code> في لغة Kotlin}}</noinclude> تضيف الدالة<code>find()</code> إلى المعامل <code>d...' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(5 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>find()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>find()</code> في Kotlin}}</noinclude> | ||
تبحث الدالة <code>find()</code> على عنصر محدَّد ضمن عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له. | |||
==البنية العامة== | ==البنية العامة== | ||
<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> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | |||
== المعاملات == | |||
</syntaxhighlight> | |||
==القيم | === <code>predicate</code> === | ||
دالةٌ تمثل الشرط المراد تطبيقه على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة. يمرر إلى هذه الدالة قيمة العنصر وتعيد قيمةً منطقيةً. | |||
==القيم المعادة== | |||
يعاد أول ظهور للعنصر المبحوث عنه ضمن عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة والذي يحقق الشرط المنطقي <code>predicate</code> المعطى أيضًا، أو القيمة <code>null</code> إن لم يُعثر على أي عنصر يحقق ذلك الشرط. | |||
==أمثلة== | ==أمثلة== | ||
<nowiki/>استعمال الدالة <code>()find</code> للبحث عن أول عنصر محقق لشرط معين ضمن مصفوفة:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val | val array = arrayOf(9, 2, 3, 0, 5, 1) | ||
val | val predicate1: (Int) -> Boolean = { it < 3 } | ||
val | val predicate2: (Int) -> Boolean = { it == 6 } | ||
println(array.find(predicate1)) // 2 | |||
println(array.find(predicate2)) // null | |||
println( | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/ | *الدالة <code>[[Kotlin/collections/findLast|findLast()]]</code>: تبحث على عنصر محدَّد ضمن عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد آخر ظهور له. | ||
* | *الدالة <code>[[Kotlin/collections/firstOrNull|firstOrNull()]]</code>: تجلب أول عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. | ||
*الدالة <code>[[Kotlin/collections/filter|filter()]]</code>: ترشِّح عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها. | |||
*<code>[[Kotlin/collections/ | |||
==مصادر== | ==مصادر== | ||
*[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 | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 08:04، 8 سبتمبر 2018
تبحث الدالة find()
على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد أول ظهور له.
البنية العامة
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
دالةٌ تمثل الشرط المراد تطبيقه على كل عنصر من عناصر المصفوفة أو المجموعة المعطاة. يمرر إلى هذه الدالة قيمة العنصر وتعيد قيمةً منطقيةً.
القيم المعادة
يعاد أول ظهور للعنصر المبحوث عنه ضمن عناصر المصفوفة أو المجموعة المعطاة والذي يحقق الشرط المنطقي predicate
المعطى أيضًا، أو القيمة null
إن لم يُعثر على أي عنصر يحقق ذلك الشرط.
أمثلة
استعمال الدالة ()find
للبحث عن أول عنصر محقق لشرط معين ضمن مصفوفة:
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 0, 5, 1)
val predicate1: (Int) -> Boolean = { it < 3 }
val predicate2: (Int) -> Boolean = { it == 6 }
println(array.find(predicate1)) // 2
println(array.find(predicate2)) // null
}
انظر أيضًا
- الدالة
findLast()
: تبحث على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد آخر ظهور له. - الدالة
firstOrNull()
: تجلب أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. - الدالة
filter()
: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.