Область цикла в Kotlin
Переменная в теле цикла живет только на одной итерации и исчезает после выхода из цикла. Обратиться к ней снаружи нельзя.
Ключевое слово val внутри for видна только в
скобках цикла. После цикла имя step
программа не найдет:
fun main() {
for (num in 1..3) {
val step = num * 2
println(step)
}
println(step) // программа не собирается
}
Переменная цикла for тоже не видна
после цикла:
fun main() {
for (idx in 1..2) {
println(idx)
}
println(idx) // программа не собирается
}
Если объявить переменную до цикла, ее можно
менять внутри и читать после. На экран
попадет 3:
fun main() {
var last = 0
for (num in 1..3) {
last = num
}
println(last)
}
Определите, соберется ли программа:
fun main() {
for (ch in "ab") {
val mark = ch
}
println(mark)
}
Определите, что выведет программа:
fun main() {
var sum = 0
for (k in 1..4) {
sum = sum + k
}
println(sum)
}