HTML page

 Справочное руководство по языку Lua 5.1 :: 2.4.4 - Управляющие конструкции 

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 и пустая строка !).

Цикл repeatuntil канчивается условием, идущим следом за until, поэтому в условии можно ссылаться на локальные переменные, описанные внутри цикла.

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


      stat ::= return [explist1]
      

Оператор break используется для досрочного выхода из циклов while, repeat и for:


      stat ::= break
      

Break прерывает цикл, в теле которого встречается, внешние циклы продолжают выполнение.

Return (или break) должен быть последним оператором в блоке (иначе следующие за ним операторы никогда не выполнятся). Если действительно необходимо вставить return или break в середину блока, то следует применить составной оператор, например do return end и do break end.