t27.aiEnglish

Циклы: while и for

Вы узнаете

Три формы цикла, которые принимает компилятор, и как пишется диапазон.

while (i < n) { i = i + 1; } повторяет блок, пока условие истинно, и блок обязан приближать момент, когда оно станет ложным. for i in 0..n { } проводит i от 0 до n, не включая само n. Компилятор принимает и форму Zig: for (0..4) |i| { }. Цикл обычно обновляет var, объявленную перед ним.

Попробуйте

Посчитайте вручную, что вернёт sum_to при n = 4, и запишите это константой с тестом.

Открыть интерактивный урок →

t27 basics 15: three loop forms
t27 basics 15: three loop forms ↗

while, for in a range and the Zig-style for, each checked with the real t27 compiler, and a range drawn step by step. Lesson 15 of the t27 basics course.

specs/basics/15_loops.t27

// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 15: Loops: while and for.
; while repeats while a condition holds; for walks a range of numbers.

module basics_15_loops;

pub fn sum_to(n: u8) -> u16 {
    var s : u16 = 0;
    for i in 0..n {
        s = s + i;
    }
    return s;
}

pub fn count_up(n: u8) -> u8 {
    var i : u8 = 0;
    while (i < n) {
        i = i + 1;
    }
    return i;
}

pub const SUM_BELOW_5 : u16 = 10;

test zero_to_four_add_up_to_ten {
    assert SUM_BELOW_5 == 0 + 1 + 2 + 3 + 4;
}

Открыть спеку урока в плеере ↗

Все уроки