Программирование на Lua: 4.4

Это первое издание было написано для Lua 5 Это первое издание было написано для Lua 5.0. Хотя все еще в значительной степени актуальны для более поздних версий, есть некоторые различия.
Четвертое издание предназначено для Lua 5.3 и доступно на Амазонка и другие книжные магазины.
Покупая книгу, вы также помогаете поддержать проект Lua ,

Операторы break и return позволяют нам выпрыгивать из внутреннего блока.

Вы используете оператор break, чтобы завершить цикл. Этот оператор разрывает внутренний цикл ( for , repeat или while ), который его содержит; он не может быть использован вне цикла. После перерыва программа продолжает работать с точки, сразу же после разорванного цикла.

Оператор return возвращает случайные результаты из функции или просто завершает функцию. Существует неявный возврат в конце любой функции, поэтому вам не нужно использовать его, если ваша функция завершается естественным образом, без возврата какого-либо значения.

По синтаксическим причинам, разрыв или возврат может появляться только как последний оператор блока (другими словами, как последний оператор в вашем чанке или непосредственно перед концом , else или to ). Например, в следующем примере break - это последний оператор блока then .

local i = 1, в то время как a [i] делает, если a [i] == v, затем break end i = i + 1 end Обычно, это те места, где мы используем эти операторы, потому что любой другой оператор, следующий за ними, недоступен. Однако иногда может быть полезно написать возврат (или разрыв ) в середине блока; например, если вы отлаживаете функцию и хотите избежать ее выполнения. В таких случаях вы можете использовать явный блок do вокруг оператора: function foo () return - << SYNTAX ERROR - `return '- последний оператор в следующем блоке, do return end - OK ... - заявления не достигли конца