This first edition was written for Lua 5.0.
While still largely relevant for later versions, there are
some differences.
The fourth edition
targets Lua 5.3 and is available at Amazon and other bookstores.
By buying the book, you also help to support the Lua project.
Programming in Lua
Part I. The Language
Chapter 4. Statements
4.4 – break and return
The break and return statements allow us to
jump out from an inner block.
You use the break statement to finish a loop.
This statement breaks the inner
loop
(for, repeat, or while)
that contains it;
it cannot be used outside a loop.
After the break,
the program continues running from the point
immediately
after the broken loop.
A return statement
returns occasional results from a function
or simply
finishes a function.
There is an implicit return at the end of any function,
so
you do not need to use one if your function ends naturally,
without returning
any value.
For syntactic reasons,
a break or return can appear only as
the last statement
of a block
(in other words, as the last statement in your chunk
or just before
an end, an else, or an until).
For instance, in the next example,
break is the
last statement of the then block.
local i = 1
while a[i] do
if a[i] == v then break end
i = i + 1
end
Usually, these are the places where we use these statements,
because any
other statement following them is unreachable.
Sometimes, however, it may
be useful to write a return
(or a break) in the middle of a block;
for instance,
if you are debugging a function and
want to avoid its execution.
In such cases,
you can use an explicit do block around the statement:
function foo ()
return --<< SYNTAX ERROR
-- `return' is the last statement in the next block
do return end -- OK
... -- statements not reached
end
Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved.