[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Ignore letters other than e/E if number is decimal, and ignore all letters after e/E
- From: v <v19930312@...>
- Date: Wed, 25 Sep 2019 18:21:53 +0300
On Wed, 2019-09-25 at 11:37 -0300, Roberto Ierusalimschy wrote:
> > Currently Lua ignores some letters after numbers, but not enough:
> >
> > > x=1print(x)
> > 1
> > > 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.
>
> -- Roberto
>
Oh well, RIP all my Lua codegolf :(
--
v <v19930312@gmail.com>