t27.aiEnglish

Локальные имена: let и var

Вы узнаете

Когда нужен let, а когда var и как обновляется var.

let a = w * h; даёт имя значению внутри тела функции. var i : u8 = 0; объявляет имя, которое может меняться, а i = i + 1; меняет его. let нужен, когда значение вычисляется один раз, var — когда его обновляет цикл. Эти имена живут только внутри функции; на уровне модуля используется const.

Попробуйте

Замените let на var в area и проверьте вердикт; потом объясните, почему там уместнее let.

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

t27 basics 13: let, var and const
t27 basics 13: let, var and const ↗

Where let, var and const live in a t27 spec and whether the name may change. Lesson 13 of the t27 basics course.

specs/basics/13_local_names.t27

// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 13: Local names: let and var.
; Inside a function, let names a value once and var names one that changes.

module basics_13_local_names;

pub fn area(w: u16, h: u16) -> u16 {
    let a = w * h;
    return a;
}

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

pub const SIDE : u16 = 12;

test a_square_of_side_12 {
    assert SIDE * SIDE == 144;
}

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

Все уроки