Menu
Coddy logo textTech

Почему именно Luau?

Часть раздела Введение в Luau путешествия по Lua на Coddy — урок 2 из 73.

Система типов Luau предлагает три главных преимущества, которые делают разработку более безопасной и эффективной.

Раннее обнаружение ошибок: анализатор типов проверяет ваш код во время редактирования, до его запуска. Рассмотрим классическую ошибку в Lua — передачу nil туда, где ожидается число:

-- Lua: nothing warns you about this
local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(nil, 0.1))
-- ✗ runtime error: attempt to perform arithmetic on nil

В обычном Lua этот сбой происходит только тогда, когда некорректный вызов наконец выполняется — возможно, прямо у ваших пользователей. Хуже того, Lua иногда полностью скрывает ошибку: "50" + 0.1 неявно преобразует строку и возвращает 50.1… пока в один день строка не окажется нечисловой. С аннотациями Luau ошибка подсвечивается незамедлительно:

local function calculateTotal(price: number, tax: number): number
    return price + tax
end

calculateTotal(nil, 0.1) -- ✗ type error while editing: nil is not a number

Улучшенная читаемость кода: аннотации служат документацией. price: number точно сообщает вам и вашей команде, что функция ожидает и возвращает — без гаданий и копания в реализации.

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

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Введение в Luau