كيفية الحصول على فهرس العنصر في حلقة forEach في Kotlin؟
مرحبًا! أنا مبتدئ في Kotlin، أنتقل من Java. في Java اعتدت استخدام حلقة for العادية مع الفهرس:
```java
for (int i = 0; i < list.size(); i++) {
System.out.println("Index: " + i + ", Value: " + list.get(i));
}
```
لكن في Kotlin أرى أن الجميع يوصي باستخدام forEach:
```kotlin
list.forEach { item ->
println(item)
}
```
المشكلة أنني غالبًا ما أحتاج إلى معرفة ليس فقط قيمة العنصر ولكن أيضًا فهرسه (موضعه) في القائمة. على سبيل المثال، أقوم بعمل قائمة مهام في Android وأريد عرض الرقم التسلسلي لكل مهمة. أو أريد التحقق مما إذا كان العنصر هو الأخير في القائمة.
حاولت القيام بذلك:
```kotlin
var index = 0
list.forEach { item ->
println("$index: $item")
index++
}
```
لكن هذا يبدو حلاً غير أنيق وغير موثوق. إذا كان هناك break أو return داخل الحلقة، فسيختل الفهرس. كما سمعت أن Kotlin لديها دالة withIndex()، لكنني لا أفهم كيفية استخدامها بشكل صحيح.
أرجو إرشادي حول كيفية الحصول على الفهرس بشكل صحيح وجميل.