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