1.5 Литералы
| Вид | Синтаксис | Тип по умолчанию |
|---|---|---|
| Целое | 42, 1_000, 0xFF, 0o17, 0b1010, суффикс 42u8 | выводится; иначе i64 |
| Вещественное | 3.14, 1e-9, 2.5f32 | выводится; иначе f64 |
| Логическое | true, false | bool |
| Символ | 'a', '\n', '\u{1F600}' | char |
| Строка | "text {expr}" | str |
| Сырая строка | r"C:\path", r#"..."# | str |
| Многострочная | """…""" (общий отступ удаляется) | str |
| Байты | b"\x00abc" | bytes |
| Длительность | 250ms, 1h30m, 2d, 1.5s | Duration |
| Размер | 512B, 4KiB, 16MiB, 1GB | u64 (байты) |
| Дата | 2026-11-03 | Date |
| Дата-время | 2026-11-03T18:00, 2026-11-03T18:00:05.250 | LocalDateTime |
| Момент UTC | 2026-11-03T15:00Z | Time |
| Префиксный | re"\d+", tz"Europe/Moscow", cron"0 9 * * MON-FRI", sha256"ab12…", ip"10.0.0.1" | тип обработчика |
| Отсутствие | none | none |
| Unit | () | () |
Правила:
- Интерполяция
{expr}в строке вычисляетexprи вызываетShow.show. Литеральная фигурная скобка —{{и}}. Формат:{x:.2},{x:08x},{t:dd.MM.yyyy}(§17.5). Спецификатор{выражение:спец}:спец = [[заполнитель]выравнивание][знак][#][0][ширина][.точность][тип]; выравнивание<,^,>(числа —>, текст —<); знак+или-;#— префикс системы счисления (0x,0o,0b);0— дополнение нулями (только числа);.N— число знаков дроби у вещественных и длина (в символах) у текста. Тип: целые —x X o b; вещественные —e E;str,char—?(в кавычках с экранированием);Duration— единицаns us ms s m h d: значение в этих единицах с суффиксом ({d:ms}→1500ms,{d:.2s}→1.50s);Time,LocalDateTime,Date— шаблон (§17.5); тип с методомfmt(спец: str) -> str— собственный формат. Спецификатор, не подходящий типу значения, — ошибка компиляцииbad-format-spec; для типов, неизвестных при проверке (параметр обобщения), проверяется только синтаксис (D-8064; D-7810). - Escape-последовательности:
\n \r \t \\ \" \' \0 \xHH \u{H…}. - Единицы длительности:
ns us ms s m h d. Составная длительность — единицы строго по убыванию, без пробелов (1h30m15s). Календарные интервалы (месяцы, годы) — не литералы, аPeriod(§17.2). - Дата и дата-время распознаются лексером жадно по шаблону
DDDD-DD-DD[TDD:DD[:DD[.D+]]][Z]. Вычитание чисел записывается с пробелами:2026 - 11. - Префиксный литерал
p"…"вызывает comptime-функциюliteral fn p(s: str) -> Tиз области видимости (§15.3). Ошибка в обработчике — ошибка компиляции. Встроенные префиксы:r b re tz cron sha256 ip urlhtml. - Целочисленный литерал, не помещающийся в выведенный тип, — ошибка компиляции.
Связанные диагностики
bad-format-spec, invalid-char-literal, invalid-date, invalid-duration, invalid-escape, invalid-number, literal-overflow, unterminated-string
См. также
Исходник: docs/spec/oxl-standard.md