История изменений
Исправление
Legioner,
(текущая версия)
:
Думаю, этот пример чуть лучше объяснит, почему return так работает и зачем это сделали.
inline fun forEachInt(array: Array<Int>, body: (Int) -> Unit) {
var i = 0
while (i < array.size) {
body(array[i])
i++
}
}
fun findFirstEven1(arr: Array<Int>): Int {
forEachInt(arr) { x ->
if (x % 2 == 0) {
return x
}
}
return -1
}
fun findFirstEven2(arr: Array<Int>): Int {
for (x in arr) {
if (x % 2 == 0) {
return x
}
}
return -1
}
Исходная версия
Legioner,
:
Думаю, этот пример чуть лучше объяснит, почему return так работает и зачем это сделали.
inline fun forEachInt(array: Array<Int>, body: (Int) -> Unit) {
var i = 0
while (i < array.size) {
body(array[i])
i++
}
}
fun findFirstEven(arr: Array<Int>): Int {
forEachInt(arr) { x ->
if (x % 2 == 0) {
return x
}
}
return -1
}