В языке Carbon мы можем использовать циклы for и while. Внутри цикла для управления потоком можно использовать операторы break и continue.
Цикл while
Цикл while в Carbon похож на цикл любого другого языка. Он выполняется до тех пор, пока условие цикла не вернет значение true.
Пример:
var x: i8 = 0;
while (x < 3) {
Print(x);
++x;
}
Print("Done!");
// Output: 0 1 2 Done!
В этом примере кода мы объявили 8-битную целочисленную переменную x и присвоили ей значение 0.
Затем с помощью цикла while мы выполняем цикл до тех пор, пока значение x не станет меньше 3, и печатаем это значение. Вместе с этим мы увеличиваем значение x с помощью оператора инкремента ++.
После завершения цикла будет выведено Done.
for Loop
Цикл for в Carbon работает подобно циклу foreach в javascript, поддерживая цикл на основе диапазона. Он будет перебирать все значения заданного массива или диапазона.
Пример:
var names: [String;] = ("Ironman", "Thor", "Hulk");
for (var name: String in names) {
Print(name);
}
В этом коде мы используем цикл for для доступа ко всем значениям массива names. Структура for имеет следующий вид:
for ( var declaration in expression ) { statements }
var name: String - объявление переменной, которая будет содержать одно значение массива.
names - массив имен.
break
Как и в любом другом языке, break используется для остановки выполнения циклов.
Пример:
var i: i8 = 0;
while(i < 10) {
if(i == 5) {
break;
}
Print(i);
++i;
}
// Output: 0, 1, 2, 3, 4
continue
Оператор continue пропускает текущий цикл цикла и начинает следующий цикл.
Пример:
var i: i8 = 0;
while(i < 10) {
if(i == 5) {
continue;
}
Print(i);
++i;
}
// Output: 0, 1, 2, 3, 4, 6, 7, 8, 9
return
Оператор return используется для завершения потока функций.
Пример:
fn checkReturn() {
var i: i8 = 0;
while(i < 8) {
if(i == 3) continue;
if(i == 6) return;
Print(i);
++i;
}
Print("I will never reach");
}
// Output: 0 1 2 4 5