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

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>elementAt()‎</code> في لغة Kotlin}}</noinclude>
تجلب الدالة <code>elementAt()‎</code> عنصرًا ذي فهرس معيَّن من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها. إن كان فهرس العنصر المعطى خارج حدود [[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> العنصر الموجود عند الفهرس (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> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
== البنية العامة ==
يمكن استدعاء الدالة<code>elementAt()‎</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.elementAt(index: Int): T  
inline fun <T> Array<out T>.elementAt(index: Int): T  
inline fun ByteArray.elementAt(index: Int): Byte  
inline fun ByteArray.elementAt(index: Int): Byte  
سطر 13: سطر 11:
inline fun BooleanArray.elementAt(index: Int): Boolean  
inline fun BooleanArray.elementAt(index: Int): Boolean  
inline fun CharArray.elementAt(index: Int): Char  
inline fun CharArray.elementAt(index: Int): Char  
</syntaxhighlight>يمكن استدعاء الدالة<code>elementAt()‎</code> على [[Kotlin/Array|المجموعات]].<syntaxhighlight lang="kotlin">
</syntaxhighlight>ومع [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
fun <T> Iterable<T>.elementAt(index: Int): T  
fun <T> Iterable<T>.elementAt(index: Int): T  


</syntaxhighlight>يمكن استدعاء الدالة<code>elementAt()‎</code> على [[Kotlin/List|اللوائح]].<syntaxhighlight lang="kotlin">
</syntaxhighlight>ومع [[Kotlin/List|القوائم]]:<syntaxhighlight lang="kotlin">
inline fun <T> List<T>.elementAt(index: Int): T
inline fun <T> List<T>.elementAt(index: Int): T


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


*الدالة <code>[[Kotlin/collections/elementAtOrNull|elementAtOrNull()]]</code>‎: تجلب العنصر ذي الفهرس المعطى والموجود ضمن نطاق [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] المعطاة، أو القيمة العدمية <code>null</code> إن كان فهرس العنصر المعطى يقع خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]].
* التابع <code>[[Kotlin/Array/get|Array.get()‎]]</code>: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.
* الدالة <code>[[Kotlin/collections/drop|drop()]]</code>‎: تعيد قائمة تحوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها باستثناء آخر <code>n</code> عنصر.
* الدالة <code>[[Kotlin/collections/distinct|distinct()‎]]</code>: تحذف العناصر المتكررة الموجودة في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها وتعيد الناتج في قائمة.
==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at.html الدالة  elementAt()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/element-at.html الدالة elementAt()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]<noinclude>{{DISPLAYTITLE: الدالة <code>elementAt()‎</code> في لغة Kotlin}}</noinclude>
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 12:45، 4 يوليو 2018

تجلب الدالة elementAt()‎ عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان فهرس العنصر المعطى خارج حدود المصفوفة أو المجموعة، فستُطلق الدالة الاستثناء IndexOutOfBoundsException.

البنية العامة

يمكن استدعاء الدالة elementAt()‎ مع المصفوفات:

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

ومع المجموعات:

fun <T> Iterable<T>.elementAt(index: Int): T

ومع القوائم:

inline fun <T> List<T>.elementAt(index: Int): T

وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (لمزيد من التفاصيل، راجع توثيق الدوال المباشرة).

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

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

أمثلة

استخدام الدالة ()elementAt مع المصفوفات لجلب عنصر موجود

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()elementAt لجلب العنصر الرابع من هذه المصفوفة:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)
    println(array.elementAt(3)) // 4
}

استخدام الدالة ()elementAt مع المصفوفات لجلب عنصر غير موجود

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()elementAt لجلب العنصر ذي الفهرس 6:

fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)
    println(array.elementAt(6)) 
}

لمَّا كان العنصر المشار إليه خارج حدود المصفوفة، فسيُطلق استثناءً وسنحصل على النتيجة التالية:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
    at Simplest_versionKt.main(Simplest version.kt:3)

انظر أيضًا

مصادر