[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Clarification of goto scope
- From: Xavier Wang <weasley.wx@...>
- Date: Wed, 1 Feb 2012 16:30:42 +0800
2012/2/1 Dirk Laurie <email@example.com>:
>> The reference manual could further explain that a label is allowed
>> just before a "end", even if there are local variables declared in the
>> Also, the manual could show one or two examples for typical "continue"
>> or "redo" usage, as it is not trivial.
> The promised PiL3 should have such elucidations, yes. But the manual? No.
> The F in RTFM does not really stand for "friendly".
I think the manual just imply it, see 3.5 in
Lua is a lexically scoped language. The scope of a local variable
begins at the first statement after its declaration and lasts until
the last non-void statement of the innermost block that includes the
For syntactical reasons, labels in Lua are considered statements too
so we know:
- local variable's scope ends after the last non-void statement of block.
- the label statement *is* a void statement.
- so the local variable's scope is end *before* the label statement.
- so, you don't jump into the local's scope :-)
So.... maybe the manual is not that "friendly", but just enough :-)