Avatar ·

كيفية استخدام break و continue داخل forEach في Kotlin؟

مرحباً بالجميع! بدأت تعلم Kotlin وواجهت مشكلة غير متوقعة. عندما أكتب حلقة `for` عادية، يمكنني استخدام `break` و `continue` بسهولة: ```kotlin for (i in 1..10) { if (i == 5) break if (i % 2 == 0) continue println(i) } ``` ولكن بمجرد أن أحاول فعل الشيء نفسه داخل `forEach`: ```kotlin val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) numbers.forEach { i -> if (i == 5) break // خطأ في الترجمة! if (i % 2 == 0) continue // خطأ أيضاً! println(i) } ``` يُصدر المترجم خطأ: "break and continue are only allowed inside a loop". أفهم أن `forEach` ليست حلقة، بل دالة عالية المستوى تأخذ لامبدا. لكني بحاجة إلى طريقة لإيقاف التنفيذ أو تخطي التكرار. أرجو إرشادي كيف أفعل ذلك بشكل صحيح؟ هل هناك بديل؟ جربت استخدام `return` لكنه يخرج من الدالة بأكملها، وليس من `forEach`. شكراً مسبقاً على المساعدة! <<>>

المشكلة: p