Область цикла в Dart
Переменная в теле цикла живет только на одной итерации и исчезает после выхода из цикла. Обратиться к ней снаружи нельзя.
Объявление внутри for видно только в
теле цикла. После цикла имя step
программа не найдет:
for (var val = 1; val <= 3; val++) {
final step = val * 2;
print(step);
}
print(step); // программа не собирается
Счетчик цикла for тоже не виден
после цикла:
for (var idx = 1; idx <= 2; idx++) {
print(idx);
}
print(idx); // программа не собирается
Если объявить переменную до цикла, ее можно
менять внутри и читать после. На экран
попадет 3:
var last = 0;
for (var val = 1; val <= 3; val++) {
last = val;
}
print(last);
Определите, соберется ли программа:
for (var ch in ['a', 'b']) {
final mark = ch;
}
print(mark);
Определите, что выведет программа:
var sum = 0;
for (var k = 1; k <= 4; k++) {
sum = sum + k;
}
print(sum);