2.4.4 – Управляющие конструкции
Операторы if,
while, и repeat имеют
обычное значение и знакомый синтаксис:
stat ::= while exp do block end
stat ::= repeat block until exp
stat ::= if exp then block {elseif exp then block} [else block] end
В Lua также имеется выражение for в двух
вариантах (смотрите §2.4.5).
Логическое выражение в управляющих конструкциях может возвращать любое значение.
Значения false и nil считаются ложными. Все остальные значения считаются
истинными (в том числе значение 0 и пустая строка !).
Цикл repeat–until канчивается условием, идущим следом
за until, поэтому
в условии можно ссылаться на локальные переменные, описанные внутри цикла.
Выражение return используется для того, чтобы возвратить значения из функции или
порции. Синтаксис оператора return позволяет функции или порции вернуть несколько
значений:
stat ::= return [explist1]
Оператор break используется для досрочного выхода из циклов while, repeat и for:
stat ::= break
Break прерывает цикл, в теле которого встречается, внешние циклы
продолжают выполнение.
Return (или break)
должен быть последним оператором в
блоке (иначе следующие за ним операторы никогда не выполнятся). Если действительно
необходимо вставить return или break в середину блока, то следует применить составной оператор, например
do return end и do break end.
|