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 точно сообщает вам и вашим коллегам, что ожидает и возвращает function: не нужно гадать или разбираться в реализации.

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

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

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

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

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор Lua