الفرق بين المراجعتين لصفحة: «Kotlin/collections/singleOrNull»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>singleOrNull()</code> في | <noinclude>{{DISPLAYTITLE: الدالة <code>singleOrNull()</code> في Kotlin}}</noinclude> | ||
تتحقَّق الدالة <code>singleOrNull()</code> من حواية [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List|القائمة]] التي استُدعيت معها عنصرًا واحدًا فقط، أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده، أو تعيد القيمة <code>null</code> خلاف ذلك. | |||
==البنية العامة== | ==البنية العامة== | ||
إن استدعيت الدالة <code>singleOrNull()</code> مع <nowiki/>[[Kotlin/Array|مصفوفة]] أو [[Kotlin/collections|مجموعة]] أو قائمة دون تمرير أي معامل، فستتحقَّق من احتواء تلك [[Kotlin/Array|المصفوفة]] أو المجموعة أو القائمة على عنصر واحد فقط ثمَّ تعيده. وفي حال كانت تلك [[Kotlin/Array|المصفوفة]] أو المجموعة أو القائمة فارغةً أو تحوي أكثر من عنصر واحد، فستعيد الدالة <code>singleOrNull()</code> القيمة <code>null</code>:<syntaxhighlight lang="kotlin"> | |||
fun <T> Array<out T>.singleOrNull(): T? | fun <T> Array<out T>.singleOrNull(): T? | ||
fun ByteArray.singleOrNull(): Byte? | fun ByteArray.singleOrNull(): Byte? | ||
سطر 12: | سطر 12: | ||
fun BooleanArray.singleOrNull(): Boolean? | fun BooleanArray.singleOrNull(): Boolean? | ||
fun CharArray.singleOrNull(): Char? | fun CharArray.singleOrNull(): Char? | ||
< | |||
fun <T> Iterable<T>.singleOrNull(): T? | |||
fun <T> List<T>.singleOrNull(): T? | |||
</syntaxhighlight>وإن استدعيت مع [[Kotlin/Array|مصفوفة]] ومرِّر إليها الشرط <code>predicate</code> كمعامل، فستتحقَّق من تطابق عنصر واحد فقط من عناصر تلك المصفوفة مع ذلك الشرط. وفي حال تطابق أكثر من عنصر مع ذلك الشرط المنطقي أو لم يكن هنالك أي عنصر في المصفوفة، فستعيد الدالة <code>singleOrNull()</code> القيمة <code>null</code>:<syntaxhighlight lang="kotlin"> | |||
inline fun <T> Array<out T>.singleOrNull( | inline fun <T> Array<out T>.singleOrNull( | ||
predicate: (T) -> Boolean | predicate: (T) -> Boolean | ||
سطر 44: | سطر 49: | ||
): T? | ): T? | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | |||
=== <code>predicate</code> === | |||
دالة تطبق على كل عنصر من عناصر المصفوفة أو المجموعة أو القائمة المعطاة، إذ يمرر إليها العنصر ثم تعيد القيمة المنطقية المقابلة له. | |||
==القيم المعادة== | |||
==القيم | يعاد العنصر الوحيد الموجود في [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List|القائمة]] المعطاة، أو العنصر الوحيد الذي حقَّق الشرط <code>predicate</code> (إن أعطي)، أو القيمة <code>null</code> خلاف ذلك. | ||
العنصر الوحيد الموجود في [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List| | |||
==أمثلة== | ==أمثلة== | ||
استعمال الدالة <code>()singleOrNull</code> للتأكد من احتواء مصفوفة على عنصر وحيد وجلبه:<nowiki/><syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
var array = arrayOf(0) | var array = arrayOf(0) | ||
print(array.singleOrNull()) // 0 | print(array.singleOrNull()) // 0 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
استعمال الدالة <code>()singleOrNull</code> للتأكد من احتواء مصفوفة على عنصر وحيد وجلبه إن كان كذلك محقَّقًا:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
var array = arrayOf(0, 6) | var array = arrayOf(0, 6) | ||
print(array. | print(array.singleOrNull()) // null | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==انظر أيضًا== | ||
*<code>[[Kotlin/collections/single|single()]]</code>: | *الدالة <code>[[Kotlin/collections/single|single()]]</code>: تتحقَّق من حواية [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List|القائمة]] التي استُدعيت معها عنصرًا واحدًا فقط أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده أو تطلق [[Kotlin/exceptions|استثناءً]] خلاف ذلك. | ||
* الدالة <code>[[Kotlin/collections/slice|slice()]]</code>: تقطع جزءًا محدَّدًا من <nowiki/>[[Kotlin/Array|المصفوفة]] أو القائمة التي استُدعيت معها ثمَّ تعيده في قائمة. | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/single-or-null.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/single-or-null.html صفحة الدالة singleOrNull() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Collection]] |
المراجعة الحالية بتاريخ 10:14، 8 سبتمبر 2018
تتحقَّق الدالة singleOrNull()
من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط، أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده، أو تعيد القيمة null
خلاف ذلك.
البنية العامة
إن استدعيت الدالة singleOrNull()
مع مصفوفة أو مجموعة أو قائمة دون تمرير أي معامل، فستتحقَّق من احتواء تلك المصفوفة أو المجموعة أو القائمة على عنصر واحد فقط ثمَّ تعيده. وفي حال كانت تلك المصفوفة أو المجموعة أو القائمة فارغةً أو تحوي أكثر من عنصر واحد، فستعيد الدالة singleOrNull()
القيمة null
:
fun <T> Array<out T>.singleOrNull(): T?
fun ByteArray.singleOrNull(): Byte?
fun ShortArray.singleOrNull(): Short?
fun IntArray.singleOrNull(): Int?
fun LongArray.singleOrNull(): Long?
fun FloatArray.singleOrNull(): Float?
fun DoubleArray.singleOrNull(): Double?
fun BooleanArray.singleOrNull(): Boolean?
fun CharArray.singleOrNull(): Char?
fun <T> Iterable<T>.singleOrNull(): T?
fun <T> List<T>.singleOrNull(): T?
وإن استدعيت مع مصفوفة ومرِّر إليها الشرط predicate
كمعامل، فستتحقَّق من تطابق عنصر واحد فقط من عناصر تلك المصفوفة مع ذلك الشرط. وفي حال تطابق أكثر من عنصر مع ذلك الشرط المنطقي أو لم يكن هنالك أي عنصر في المصفوفة، فستعيد الدالة singleOrNull()
القيمة null
:
inline fun <T> Array<out T>.singleOrNull(
predicate: (T) -> Boolean
): T?
inline fun ByteArray.singleOrNull(
predicate: (Byte) -> Boolean
): Byte?
inline fun ShortArray.singleOrNull(
predicate: (Short) -> Boolean
): Short?
inline fun IntArray.singleOrNull(
predicate: (Int) -> Boolean
): Int?
inline fun LongArray.singleOrNull(
predicate: (Long) -> Boolean
): Long?
inline fun FloatArray.singleOrNull(
predicate: (Float) -> Boolean
): Float?
inline fun DoubleArray.singleOrNull(
predicate: (Double) -> Boolean
): Double?
inline fun BooleanArray.singleOrNull(
predicate: (Boolean) -> Boolean
): Boolean?
inline fun CharArray.singleOrNull(
predicate: (Char) -> Boolean
): Char?
inline fun <T> Iterable<T>.singleOrNull(
predicate: (T) -> Boolean
): T?
المعاملات
predicate
دالة تطبق على كل عنصر من عناصر المصفوفة أو المجموعة أو القائمة المعطاة، إذ يمرر إليها العنصر ثم تعيد القيمة المنطقية المقابلة له.
القيم المعادة
يعاد العنصر الوحيد الموجود في المصفوفة أو المجموعة أو القائمة المعطاة، أو العنصر الوحيد الذي حقَّق الشرط predicate
(إن أعطي)، أو القيمة null
خلاف ذلك.
أمثلة
استعمال الدالة ()singleOrNull
للتأكد من احتواء مصفوفة على عنصر وحيد وجلبه:
fun main(args: Array<String>) {
var array = arrayOf(0)
print(array.singleOrNull()) // 0
}
استعمال الدالة ()singleOrNull
للتأكد من احتواء مصفوفة على عنصر وحيد وجلبه إن كان كذلك محقَّقًا:
fun main(args: Array<String>) {
var array = arrayOf(0, 6)
print(array.singleOrNull()) // null
}
انظر أيضًا
- الدالة
single()
: تتحقَّق من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده أو تطلق استثناءً خلاف ذلك. - الدالة
slice()
: تقطع جزءًا محدَّدًا من المصفوفة أو القائمة التي استُدعيت معها ثمَّ تعيده في قائمة.