[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua syntax gotcha
- From: Doug Rogers <doug.rogers@...>
- Date: Mon, 26 Oct 2009 15:11:47 -0400
Luiz Henrique de Figueiredo wrote:
Yes, I can see myself spending time tracking down such a thing. I'll try
to remember to use a semicolon when I add debug code like that:
function test2()
print(1)
return;
print(2)
end
This code does not compile: "return" must be the last statement in the block.
So you need to use this instead: "do return end". No semicolon is needed.
Yes, believe it or not, I checked that it did NOT compile before posting it!
What I was trying to say was that if I used a semicolon there, the
compiler would notice that I was attempting to run code beyond the
'return', so I would not reach the point of being surprised by the
behavior. For some reason it felt more natural to remember to add a
semicolon (and then fix it after it fails to compile) than to remember
the 'do return end' construct.
These kinds of cross-line parsing issues don't come up too often for me.
When I want to continue something on the next line, I just make sure
that an expression or statement is incomplete so that more text must be
read. But 'return' can appear with or without a following expression, so
that's a case where I need to be more careful. David's post was a good
reminder.
Doug
______________________________________________________________________________________
The information contained in this email transmission may contain proprietary and business
sensitive information. If you are not the intended recipient, you are hereby notified that
any review, dissemination, distribution or duplication of this communication is strictly
prohibited. Unauthorized interception of this e-mail is a violation of law. If you are not
the intended recipient, please contact the sender by reply email and immediately destroy all
copies of the original message.
Any technical data and/or information provided with or in this email may be subject to U.S.
export controls law. Export, diversion or disclosure contrary to U.S. law is prohibited.
Such technical data or information is not to be exported from the U.S. or given to any foreign
person in the U.S. without prior written authorization of Elbit Systems of America and the
appropriate U.S. Government agency.