الفرق بين المراجعتين لصفحة: «Kotlin/collections/elementAtOrElse»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>elementAtOrElse()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>elementAtOrElse()</code> في لغة Kotlin}}</noinclude> | ||
تجلب الدالة <code>elementAtOrElse()</code> عنصرًا ذي فهرس معيَّن من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]]، فستُعيد الدالة ناتج استدعاء دالة معينة. | |||
==البنية العامة== | |||
== البنية العامة == | يمكن استدعاء الدالة <code>elementAtOrElse()</code> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin"> | ||
يمكن استدعاء الدالة<code>elementAtOrElse()</code> | |||
inline fun <T> Array<out T>.elementAtOrElse( | inline fun <T> Array<out T>.elementAtOrElse( | ||
index: Int, | index: Int, | ||
سطر 40: | سطر 39: | ||
defaultValue: (Int) -> Char | defaultValue: (Int) -> Char | ||
): Char | ): Char | ||
</syntaxhighlight> | </syntaxhighlight>ومع [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin"> | ||
fun <T> Iterable<T>.elementAtOrElse( | fun <T> Iterable<T>.elementAtOrElse( | ||
index: Int, | index: Int, | ||
defaultValue: (Int) -> T | defaultValue: (Int) -> T | ||
): T | ): T | ||
</syntaxhighlight> | </syntaxhighlight>ومع [[Kotlin/List|القوائم]]:<syntaxhighlight lang="kotlin"> | ||
inline fun <T> List<T>.elementAtOrElse( | inline fun <T> List<T>.elementAtOrElse( | ||
index: Int, | index: Int, | ||
defaultValue: (Int) -> T | defaultValue: (Int) -> T | ||
): T | ): T | ||
</syntaxhighlight> | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]). | ||
==القيم المعادة== | |||
== القيم المعادة == | يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو ناتج استدعاء الدالة <code>defaultValue()</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]]. | ||
العنصر | |||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>() | ===استخدام الدالة <code>()elementAtOrElse</code> مع المصفوفات لجلب عنصر موجود=== | ||
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>باستخدام الدالة <code>()arrayOf</code> ثمَّ تعرِّف دالة باسم <code>default</code> لاستعمالها مع <code>()elementAtOrElse</code> إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(1,2,3,4,5,6) | val array = arrayOf(1,2,3,4,5,6) | ||
val default: (Int) -> Int = { it * 10} | val default: (Int) -> Int = { it * 10} | ||
println(array.elementAtOrElse(2,default)) // 3 | println(array.elementAtOrElse(2,default)) // 3 | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===استخدام الدالة <code>()elementAtOrElse</code> مع المصفوفات | ===استخدام الدالة <code>()elementAtOrElse</code> مع المصفوفات لجلب عنصر غير موجود=== | ||
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>باستخدام الدالة <code>()arrayOf</code> ثمَّ تعرِّف دالة باسم <code>default</code> لاستعمالها مع <code>()elementAtOrElse</code> إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val array = arrayOf(1,2,3,4,5,6) | val array = arrayOf(1,2,3,4,5,6) | ||
val default: (Int) -> Int = { it * 10} | val default: (Int) -> Int = { it * 10} | ||
println(array.elementAtOrElse(12,default)) // 120 | |||
println(array.elementAtOrElse(12,default)) // 120 | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا | ==انظر أيضًا== | ||
* <code>[[Kotlin/collections/elementAt|elementAt()]]</code>: | *الدالة <code>[[Kotlin/collections/elementAt|elementAt()]]</code>: تجلب عنصرًا ذي فهرس معيَّن من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت معها. | ||
* <code>[[Kotlin/collections/ | *الدالة <code>[[Kotlin/collections/elementAtOrNull|elementAtOrNull()]]</code>: تجلب العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو القيمة العدمية <code>null</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]]. | ||
* الدالة <code>[[Kotlin/collections/dropLast|dropLast()]]</code>: تعيد قائمة تحوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها باستثناء أول <code>n</code> عنصر. | |||
* الدالة <code>[[Kotlin/collections/distinctBy|distinctBy()]]</code>: تعيد قائمة تحتوي على العناصر الموجودة في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها والتي تعطي نتيجة مختلفة عند تطبيق دالة معينة عليها فقط. | |||
* التابع <code>[[Kotlin/Array/get|Array.get()]]</code>: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة. | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at-or-else.html الدالة elementAtOrElse() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at-or-else.html الدالة elementAtOrElse() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 12:45، 4 يوليو 2018
تجلب الدالة elementAtOrElse()
عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة ناتج استدعاء دالة معينة.
البنية العامة
يمكن استدعاء الدالة elementAtOrElse()
مع المصفوفات:
inline fun <T> Array<out T>.elementAtOrElse(
index: Int,
defaultValue: (Int) -> T
): T
inline fun ByteArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Byte
): Byte
inline fun ShortArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Short
): Short
inline fun IntArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Int
): Int
inline fun LongArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Long
): Long
inline fun FloatArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Float
): Float
inline fun DoubleArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Double
): Double
inline fun BooleanArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Boolean
): Boolean
inline fun CharArray.elementAtOrElse(
index: Int,
defaultValue: (Int) -> Char
): Char
ومع المجموعات:
fun <T> Iterable<T>.elementAtOrElse(
index: Int,
defaultValue: (Int) -> T
): T
ومع القوائم:
inline fun <T> List<T>.elementAtOrElse(
index: Int,
defaultValue: (Int) -> T
): T
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة).
القيم المعادة
يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق المصفوفة أو المجموعة المعطاة، أو ناتج استدعاء الدالة defaultValue()
إن كان فهرس العنصر المعطى يقع خارج حدود المصفوفة أو المجموعة.
أمثلة
استخدام الدالة ()elementAtOrElse
مع المصفوفات لجلب عنصر موجود
تعرِّف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
ثمَّ تعرِّف دالة باسم default
لاستعمالها مع ()elementAtOrElse
إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,5,6)
val default: (Int) -> Int = { it * 10}
println(array.elementAtOrElse(2,default)) // 3
}
استخدام الدالة ()elementAtOrElse
مع المصفوفات لجلب عنصر غير موجود
تعرِّف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
ثمَّ تعرِّف دالة باسم default
لاستعمالها مع ()elementAtOrElse
إن كان العنصر المراد جلبه يقع خارج مجال المصفوفة:
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,5,6)
val default: (Int) -> Int = { it * 10}
println(array.elementAtOrElse(12,default)) // 120
}
انظر أيضًا
- الدالة
elementAt()
: تجلب عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. - الدالة
elementAtOrNull()
: تجلب العنصر ذي الفهرس المعطى والموجود ضمن نطاق المصفوفة أو المجموعة المعطاة، أو القيمة العدميةnull
إن كان فهرس العنصر المعطى يقع خارج حدود المصفوفة أو المجموعة. - الدالة
dropLast()
: تعيد قائمة تحوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء أولn
عنصر. - الدالة
distinctBy()
: تعيد قائمة تحتوي على العناصر الموجودة في المصفوفة أو المجموعة التي استُدعيت معها والتي تعطي نتيجة مختلفة عند تطبيق دالة معينة عليها فقط. - التابع
Array.get()
: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.