الفرق بين المراجعتين لصفحة: «Kotlin/collections/forEachIndexed»
< Kotlin | collections
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
تُنفّد الدالةُ<code>forEachIndexed()</code> الدالةَ المُمرّرةَ | تُنفّد الدالةُ <code>forEachIndexed()</code> الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]]، أو [[Kotlin/collections|المجموعة]]، أو [[Kotlin/collections/Map|الخريطة]]، التي استُدعيت معها وعلى فهرس ذلك العنصر. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
سطر 23: | سطر 23: | ||
action: (index: Int, T) -> Unit) | action: (index: Int, T) -> Unit) | ||
</syntaxhighlight> | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | ||
==أمثلة== | ==أمثلة== | ||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()forEachIndexed</code> لطباعة فهرس وقيمة كل عنصر من عناصر تلك المصفوفة بجانب بعضهما بعضًا:<syntaxhighlight lang="kotlin"> | |||
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> | fun main(args: Array<String>) { | ||
val array = arrayOf(1, 2, 3, 4, 5, 6) | |||
val array = arrayOf(1,2,3,4,5,6) | |||
array.forEachIndexed {index, element | array.forEachIndexed { index, element -> print("$index:$element, ") } // 0:1, 1:2, 2:3, 3:4, 4:5, 5:6, | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
<code>[[Kotlin/collections/forEach|forEach()]]</code>: تُنفّد | * الدالة <code>[[Kotlin/collections/forEach|forEach()]]</code>: تُنفّد الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/collections/Map|الخريطة]] التي استُدعيت معها. | ||
* التابع <code>[[Kotlin/Array/iterator|Array.iterator()]]</code>: يعيد عنصرًا تكراريًّا (iterator) بهدف تكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة. | |||
* الدالة <code>[[Kotlin/collections/elementAt|elementAt()]]</code>: تجلب عنصرًا ذي فهرس معيَّن من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها. | |||
* الخاصية <code>[[Kotlin/collections/indices|indices]]</code>: تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). | |||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/for-each-indexed.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/for-each-indexed.html صفحة الدالة forEachIndexed() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]<noinclude>{{DISPLAYTITLE: الدالة <code>forEachIndexed()</code> في Kotlin}}</noinclude> | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 15:13، 23 يوليو 2018
تُنفّد الدالةُ forEachIndexed()
الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة، أو المجموعة، أو الخريطة، التي استُدعيت معها وعلى فهرس ذلك العنصر.
البنية العامة
inline fun <T> Array<out T>.forEachIndexed(
action: (index: Int, T) -> Unit)
inline fun ByteArray.forEachIndexed(
action: (index: Int, Byte) -> Unit)
inline fun ShortArray.forEachIndexed(
action: (index: Int, Short) -> Unit)
inline fun IntArray.forEachIndexed(
action: (index: Int, Int) -> Unit)
inline fun LongArray.forEachIndexed(
action: (index: Int, Long) -> Unit)
inline fun FloatArray.forEachIndexed(
action: (index: Int, Float) -> Unit)
inline fun DoubleArray.forEachIndexed(
action: (index: Int, Double) -> Unit) (
inline fun BooleanArray.forEachIndexed(
action: (index: Int, Boolean) -> Unit) (source)
inline fun CharArray.forEachIndexed(
action: (index: Int, Char) -> Unit)
inline fun <T> Iterable<T>.forEachIndexed(
action: (index: Int, T) -> Unit)
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
أمثلة
تعرف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()forEachIndexed
لطباعة فهرس وقيمة كل عنصر من عناصر تلك المصفوفة بجانب بعضهما بعضًا:
fun main(args: Array<String>) {
val array = arrayOf(1, 2, 3, 4, 5, 6)
array.forEachIndexed { index, element -> print("$index:$element, ") } // 0:1, 1:2, 2:3, 3:4, 4:5, 5:6,
}
انظر أيضًا
- الدالة
forEach()
: تُنفّد الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها. - التابع
Array.iterator()
: يعيد عنصرًا تكراريًّا (iterator) بهدف تكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة. - الدالة
elementAt()
: تجلب عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. - الخاصية
indices
: تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection).