t27.aiEnglish

Выбор: if, else и switch

Вы узнаете

Формы if, которые принимает компилятор, выражение if и switch с else.

if (a > b) { ... } else { ... } выполняет один из двух блоков. Скобки необязательны: if a > b { ... } тоже компилируется. if бывает и выражением: return if (a > b) a else b; даёт большее из двух. switch (m) { 0 => 10, else => 20 } выбирает значение по совпадению m, а else покрывает все остальные случаи.

Попробуйте

Добавьте в switch в плеере случай 1 => 15 и проверьте вердикт.

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

t27 basics 14: the shapes of a choice
t27 basics 14: the shapes of a choice ↗

Every form of if and switch the t27 compiler accepts, each checked with the real compiler. Lesson 14 of the t27 basics course.

specs/basics/14_if_and_else.t27

// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 14: Choices: if, else and switch.
; if picks one of two paths; switch picks one of many by value.

module basics_14_if_and_else;

pub fn larger(a: u8, b: u8) -> u8 {
    if (a > b) {
        return a;
    } else {
        return b;
    }
}

pub fn larger_expr(a: u8, b: u8) -> u8 {
    return if (a > b) a else b;
}

pub fn price(m: u8) -> u8 {
    return switch (m) {
        0 => 10,
        else => 20,
    };
}

pub const LIMIT : u8 = 10;

test the_limit_is_ten {
    assert LIMIT == 10;
}

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

Все уроки