[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: odd typo, what's happening
- From: Dirk Laurie <dirk.laurie@...>
- Date: Sun, 20 Dec 2015 09:41:33 +0200
2015-12-20 6:19 GMT+02:00 Egor Skriptunoff <egor.skriptunoff@gmail.com>:
> On Fri, Dec 18, 2015 at 3:19 PM, Rena <hyperhacker@gmail.com> wrote:
>>
>> The exception is when it's ambiguous:
>> x = f
>> (a or b):c()
>> That expression could be interpreted as two statements or one (remove the
>> line break and see). In that case Lua is kind enough to make an exception to
>> the "ignore whitespace" rule and raise an error
>
> Really?
> I've always thought that Lua treats this chunk as absolutely correct way to
> write the following code:
> x = (f(a or b)):c()
It depends on the Lua version. It changed between Lua 5.1 and Lua 5.2,
A linebreak between a function and its arguments used to be illegal,
and an error message was issued. As from 5.2, no matter what whitespace
sits between the two parts (several blank lines if you like), x = (f(a
or b)):c()
is performed.