Триты: минус один, ноль, один
Вы узнаете
Как трит записывается маленькой знаковой константой и почему 27 встречается повсюду.
У бита два значения, у трита три: минус один, ноль и один. Спека урока записывает их константами i8 NEG, ZERO и POS, как это делают учебные спеки t27. POS плюс NEG даёт ZERO. У трёх тритов 3 на 3 на 3 сочетаний, то есть 27: столько уроков в этом курсе и клеток в слове TRI-27.
Попробуйте
Напишите assert, что POS минус NEG равно 2, и проверьте, что он проходит.

The three values of a trit as t27 constants, and how three trits give 27 combinations. Lesson 8 of the t27 basics course.
specs/basics/08_trits.t27
// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 8: Trits: minus one, zero, one.
; A trit has three values, and three trits give 27 combinations.
module basics_08_trits;
pub const NEG : i8 = -1;
pub const ZERO : i8 = 0;
pub const POS : i8 = 1;
pub const VALUES_PER_TRIT : u8 = 3;
test opposite_trits_cancel {
assert POS + NEG == ZERO;
assert NEG < ZERO;
}
test three_trits_give_27 {
assert VALUES_PER_TRIT * VALUES_PER_TRIT * VALUES_PER_TRIT == 27;
}
Все уроки
Модуль 1 · Файл спеки
Что лежит в файле .t27: строка module, строки прозы и комментарии.
Модуль 2 · Значения и типы
Константы, ширина целого числа, а также true, false и текст.
Модуль 3 · Массивы, триты и выражения
Списки значений, три значения трита и что вычисляют операторы.
Модуль 4 · Тесты и функции
Блок test, несколько маленьких тестов в одной спеке и функция с типизированными входами.
Модуль 5 · Внутри функции
Имена через let и var, выбор через if и switch и циклы.
Модуль 6 · Видимость и свои типы
Что pub открывает другим модулям, и структуры и перечисления, которые вы объявляете.
Модуль 7 · Модули, правила и gen-ts
Чтение другого модуля, правило, которое выполняется всегда, и спека, превращённая в TypeScript.
Модуль 8 · Компилятор и tri
Бэкенды, которые пишет t27c, стадии, в которых он читает спеку, и команда tri.
Модуль 9 · Ошибки, программа и что дальше
Как читать ошибку компилятора, одна маленькая законченная программа и какой курс пройти дальше.