الفرق بين المراجعتين لصفحة: «Kotlin/collections/find»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 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>
تبحث الدالة <code>find()‎</code> على عنصر محدَّد ضمن عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 32: سطر 32:
): T?  
): T?  


</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
==القيم المٌعادة==
==القيم المٌعادة==
العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
يعاد أول ظهور للعنصر المبحوث عنه ضمن عناصر [[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">
تعرِّف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدِّد ما إذا كان العدد المُمرّر إليها أصغر من 3 ، ثم تستخدم الدالة <code>()find</code> للبحث عن أول عنصر يحقق هذا الشرط:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
    val array = arrayOf(9, 2, 3, 0, 5, 1)
val predicate  : (Int) -> Boolean = { it < 3 }
    val predicate  : (Int) -> Boolean = { it < 3 }


println(array.find(predicate)) // 2
    println(array.find(predicate)) // 2
}
}
</syntaxhighlight>
</syntaxhighlight>
===استخدام الدالة <code>()find</code> مع المصفوفات: الحالة الثانية===
===استخدام الدالة <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">
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()find</code> للبحث عن أول عنصر يساوي القيمة 6. ولمّا كانت كل عناصر <code>array</code> لا تحقق هذا الشرط، فستُعاد القيمة <code>null</code>:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
    val array = arrayOf(9, 2, 3, 2, 5, 1)
val predicate : (Int) -> Boolean = { it < 0 }
    val predicate: (Int) -> Boolean = { it == 6 }


println(array.find(predicate)) // null
    println(array.find(predicate)) // null
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/collections/findLast|findLast()]]</code>‎: تعيد العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
*الدالة <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|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find.html الدالة  find()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find.html صفحة الدالة find()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 09:33، 23 يوليو 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 المعطى أيضًا، أو القيمة null إن لم يُعثر على أي عنصر يحقق ذلك الشرط.

أمثلة

استخدام الدالة ()find مع المصفوفات: حالة العثور على عنصر

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf، ثم تُعرّف الدالة المنطقية ()predicate التي تحدِّد ما إذا كان العدد المُمرّر إليها أصغر من 3 ، ثم تستخدم الدالة ()find للبحث عن أول عنصر يحقق هذا الشرط:

fun main(args: Array<String>) {
    val array = arrayOf(9, 2, 3, 0, 5, 1)
    val predicate  : (Int) -> Boolean = { it < 3 }

    println(array.find(predicate)) // 2
}

استخدام الدالة ()find مع المصفوفات: حالة عدم العثور على أي عنصر

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()find للبحث عن أول عنصر يساوي القيمة 6. ولمّا كانت كل عناصر array لا تحقق هذا الشرط، فستُعاد القيمة null:

fun main(args: Array<String>) {
    val array = arrayOf(9, 2, 3, 2, 5, 1)
    val predicate: (Int) -> Boolean = { it == 6 }

    println(array.find(predicate)) // null
}

انظر أيضًا

  • الدالة findLast()‎: تبحث على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد آخر ظهور له.
  • الدالة firstOrNull()‎: تجلب أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
  • الدالة filter()‎: ترشِّح عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.

مصادر