[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: Roberto Ierusalimschy <roberto@...>
- Date: Wed, 25 Sep 2019 11:37:15 -0300
> 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.