ما معنى `return@` في Kotlin وكيفية استخدام علامات الإرجاع بشكل صحيح؟
مرحباً بالجميع! أنا أتعلم Kotlin وقد صادفت بناء غريباً هو `return@`. أراه في كود RxJava لكني لا أفهم لماذا هو مطلوب.
لدي هذا الكود:
```kotlin
fun main() {
listOf(1, 2, 3, 4, 5).forEach {
if (it == 3) {
return@forEach
}
println(it)
}
println("جاهز")
}
```
كنت أتوقع أن `return` سيخرج ببساطة من forEach، لكنه يخرج من الدالة main بأكملها. بدون `@forEach` الكود لا يتم تجميعه أصلاً مع خطأ "return is not allowed here". لماذا يحدث هذا؟
كما رأيت هذا المثال مع RxJava:
```kotlin
observable.subscribe { value ->
if (value.isInvalid()) {
return@subscribe
}
process(value)
}
```
ماذا يعني `return@subscribe`؟ لماذا لا يمكن ببساطة كتابة `return`؟ أرجو التوضيح، من فضلكم.