Найти в Дзене
Hello, World!

Циклы в языке Carbon - while, for, break, continue, return

Оглавление

В языке 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