Перейти к основному содержимому

5.15. Ключевые слова в Lua

Разработчику Архитектору

Ключевые слова в Lua

Lua использует двадцать два зарезервированных ключевых слова. Все они являются частью синтаксиса языка и недоступны для использования в качестве идентификаторов.

Ключевое словоЗначениеПример
andЛогическое И. Возвращает первый ложный операнд или последний истинный.if a > 0 and b < 10 then print("OK") end
breakПрерывает выполнение ближайшего цикла.for i = 1, 10 do if i == 5 then break end end
doНачинает блок кода. Используется с end для группировки операторов.do local x = 5; print(x) end
elseВетка условия, выполняемая при ложном результате выражения if.if x > 0 then print("плюс") else print("минус") end
elseifДополнительная проверка условия после основного if.if x < 0 then print("минус") elseif x == 0 then print("ноль") end
endЗавершает блок кода: функцию, условие, цикл или таблицу.function f() return 1 end
falseЛогическое значение «ложь». Единственное ложное значение кроме nil.local active = false
forОрганизует цикл. Поддерживает числовой и обобщённый варианты.for i = 1, 5 do print(i) end
functionОбъявляет функцию или анонимное функциональное выражение.function add(a, b) return a + b end
ifУсловный оператор. Выполняет блок кода при истинном условии.if temperature > 100 then boil() end
inИспользуется в обобщённом цикле for для перебора итератора.for k, v in pairs(table) do print(k, v) end
localОбъявляет переменную с локальной областью видимости.local counter = 0
nilОтсутствие значения. Единственное ложное значение кроме false.local x = nil
notЛогическое НЕ. Инвертирует булево значение операнда.if not ready then wait() end
orЛогическое ИЛИ. Возвращает первый истинный операнд или последний ложный.name = input or "Гость"
repeatНачинает цикл с постусловием. Тело выполняется минимум один раз.repeat x = x - 1 until x == 0
returnЗавершает выполнение функции и возвращает значение вызывающему коду.function square(n) return n * n end
thenОтделяет условие от тела блока в операторе if.if valid then process() end
trueЛогическое значение «истина».local enabled = true
untilУсловие завершения цикла repeat. Цикл продолжается, пока условие ложно.repeat read() until eof
whileЦикл с предусловием. Проверяет условие перед каждой итерацией.while i < 10 do i = i + 1 end

Ключевые слова goto и метки вида ::метка:: доступны в Lua 5.2 и новее для организации безусловных переходов. Ключевое слово continue отсутствует в синтаксисе Lua; его функциональность достигается через комбинацию goto и меток.