OxL Справочник OxL
РусскийEnglish

Учебник по шагам

Этот учебник ведёт от первой переменной до небольшого сервиса. В отличие от тура, где каждая страница показывает возможности «в сжатом виде», здесь каждый шаг построен одинаково:

  1. Зачем — какую проблему решает возможность и почему язык устроен именно так;
  2. Пример — полная программа, которую можно вставить в файл и запустить: oxl run файл.oxl;
  3. Вывод — что программа печатает (блок «Вывод» проверяется при каждой сборке сайта вместе с самим кодом);
  4. Разбор — по строкам, что произошло;
  5. Типичная ошибка — короткая программа, которая не компилируется, и диагностика компилятора с ссылкой на её описание.

Чтобы пробовать примеры, достаточно установленного oxl (установка). Каждый пример — один файл; кроме шага 9 (модули и пакеты) проекты создавать не нужно.

sh
oxl run step.oxl      # собрать и выполнить
oxl check step.oxl    # только проверить типы, без запуска
oxl fmt step.oxl      # привести к каноническому виду
ШагТемаГлавная мысль
1. Переменные и типыlet, var, числа, строки, T?по умолчанию всё неизменяемо
2. Функциипараметры, значения по умолчанию, замыканияпоследнее выражение — результат
3. Данные: data и enumзаписи, варианты, методы в implтип описывает допустимые состояния
4. Сопоставление с образцомmatch, if let, объединения A | Bкомпилятор проверяет, что вы учли всё
5. Ошибки@error, fail, ?, цепочки ->ошибка — часть сигнатуры
6. Коллекции и итераторыList, Map, Set, iter, запросыленивые конвейеры
7. Владение и заимствованиеперемещение, &, &var, cloneбезопасность памяти без сборщика мусора
8. Эффектыpure, io, time, net, dbсигнатура говорит, что функция делает
9. Модули и пакетыuse, pub, oxl.tomlграница видимости — модуль
10. Тестыtest, assert_eq, таблицы, фаззингтест — объявление языка
11. Конкурентностьscope, задачи, каналы, select, акторыструктурная конкурентность
12. Маленький сервисservice, rpc, actor, clusterодин код — в процессе и по сети

После учебника переходите к кулинарной книге примеров, к туру по распределённым возможностям (кластер, саги, развёртывание) и к Стандарту за точными правилами.

См. также