[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Ignore letters other than e/E if number is decimal, and ignore all letters after e/E
- From: "Soni \"They/Them\" L." <fakedme@...>
- Date: Wed, 25 Sep 2019 12:12:09 -0300
On 2019-09-25 11:37 a.m., Roberto Ierusalimschy wrote:
> Currently Lua ignores some letters after numbers, but not enough:
> > x=1print(x)
> > x=1eprint(x)
> stdin:1: malformed number near '1e'
> > x=1fprint(x)
> stdin:1: malformed number near '1f'
> > x=1aprint(x)
> stdin:1: malformed number near '1a'
> additionally if your number has an e:
> > x=1e0eprint(x)
> stdin:1: malformed number near '1e0e'
> it'd be nicer if the number parser was more strict so only actual parts of
> numbers would be consumed by it. this would make almost all of the above
> cases valid lua, except x=1eprint(x)
Lua 5.4 takes the opposite approach. Any letter after a number is
consumed by it, so that idiosyncratic syntax like 'x=1print(x)' will
be invalid too.
Oh. Fair enough.