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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>elementAtOrElse()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>elementAtOrElse()‎</code> الع...'
 
طلا ملخص تعديل
 
(7 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>elementAtOrElse()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>elementAtOrElse()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>elementAtOrElse()‎</code> العنصر الموجود عند الفهرس (index) المحدد  من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] فستُطلق [[Kotlin/exceptions|استثناءً]]  [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-index-out-of-bounds-exception/index.html IndexOutOfBoundsException].
تجلب الدالة <code>elementAtOrElse()‎</code> عنصرًا ذي فهرس معيَّن من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]]، فستُعيد الدالة ناتج استدعاء دالة معينة.
==البنية العامة==
يمكن استدعاء الدالة <code>elementAtOrElse()‎</code> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
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
</syntaxhighlight>ومع [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.elementAtOrElse(
    index: Int,
    defaultValue: (Int) -> T
): T
</syntaxhighlight>ومع [[Kotlin/List|القوائم]]:<syntaxhighlight lang="kotlin">
inline fun <T> List<T>.elementAtOrElse(
    index: Int,
    defaultValue: (Int) -> T
): T
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).


== البنية العامة ==
== المعاملات ==
يمكن استدعاء الدالة<code>elementAt()‎</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.elementAt(index: Int): T
inline fun ByteArray.elementAt(index: Int): Byte
inline fun ShortArray.elementAt(index: Int): Short
inline fun IntArray.elementAt(index: Int): Int
inline fun LongArray.elementAt(index: Int): Long
inline fun FloatArray.elementAt(index: Int): Float
inline fun DoubleArray.elementAt(index: Int): Double
inline fun BooleanArray.elementAt(index: Int): Boolean
inline fun CharArray.elementAt(index: Int): Char
</syntaxhighlight>يمكن استدعاء الدالة<code>elementAt()‎</code> على [[Kotlin/Array|المجموعات]].<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.elementAt(index: Int): T


</syntaxhighlight>يمكن استدعاء الدالة<code>elementAt()‎</code> على [[Kotlin/List|اللوائح]].<syntaxhighlight lang="kotlin">
=== <code>index</code> ===
inline fun <T> List<T>.elementAt(index: Int): T
عدد صحيح يمثل فهرس العنصر المراد جلبه من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] المعطاة.


</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
=== <code>defaultValue</code> ===
دالةٌ تستدعى عندما يكون الفهرس <code>index</code> خارج حدود <nowiki/>[[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]].


== القيم المعادة ==
==القيم المعادة==
 
يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو ناتج استدعاء الدالة <code>defaultValue()‎</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].
العنصر الموجود عند الفهرس (index) المحدد  من  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]]  فستُطلق [[Kotlin/exceptions|استثناءً]]  [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-index-out-of-bounds-exception/index.html IndexOutOfBoundsException].
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()elementAt</code> مع المصفوفات  ===
استعمال الدالة <code>()elementAtOrElse</code> لجلب عنصر موجود ضمن مصفوفة:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()elementAt</code> للحصول على العنصر الموجود عند الفهرس <code>3</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)
println(array.elementAt(3)) // 4
    val default: (Int) -> Int = { it * 10 }
 
    println(array.elementAtOrElse(2, default)) // 3
}
}
</syntaxhighlight>
</syntaxhighlight>
===استخدام الدالة <code>()elementAtOrElse</code> مع المصفوفات  ===
استعمال الدالة <code>()elementAtOrElse</code> لحاولة جلب عنصر يقع خارج مصفوفة:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()elementAtOrElse</code> للحصول على العنصر الموجود عند الفهرس <code>12،</code> ولما كان هذا الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] فستُطلق الدالة  [[Kotlin/exceptions|استثناءً]]:<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)
println(array.elementAt(12))  
    val default: (Int) -> Int = { it * 10 }
 
    println(array.elementAtOrElse(12, default)) // 120
}
}
</syntaxhighlight>
</syntaxhighlight>
الخرج سيكون كما يلي:<syntaxhighlight lang="kotlin">
==انظر أيضًا==
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
*الدالة <code>[[Kotlin/collections/elementAt|elementAt()]]</code>‎: تجلب عنصرًا ذي فهرس معيَّن من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت معها.
    at Simplest_versionKt.main(Simplest version.kt:3)
*الدالة <code>[[Kotlin/collections/elementAtOrNull|elementAtOrNull()]]</code>‎: تجلب العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو القيمة العدمية <code>null</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].
</syntaxhighlight>
* الدالة <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/collections/elementAtOrElse|elementAtOrElse()]]</code>‎: تعيد العنصر الموجود عند الفهرس (index) المحدد  من  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] فستعيد ناتج تطبيق الدالة المُمررة على الفهرس.
* التابع <code>[[Kotlin/Array/get|Array.get()‎]]</code>: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.
 
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at.html الدالة  elementAtOrElse()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at-or-else.html صفحة الدالة elementAtOrElse()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 07:49، 8 سبتمبر 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 يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة).

المعاملات

index

عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة أو المجموعة المعطاة.

defaultValue

دالةٌ تستدعى عندما يكون الفهرس index خارج حدود المصفوفة أو المجموعة.

القيم المعادة

يُعاد العنصر ذي الفهرس المعطى والموجود ضمن نطاق المصفوفة أو المجموعة المعطاة، أو ناتج استدعاء الدالة defaultValue()‎ إن كان فهرس العنصر المعطى يقع خارج حدود المصفوفة أو المجموعة.

أمثلة

استعمال الدالة ()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 لحاولة جلب عنصر يقع خارج مصفوفة:

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
}

انظر أيضًا

مصادر