[NTG-context] integer displayed as .0 float in Lua-5.3

Alan Braslau braslau.list at comcast.net
Sat Aug 11 19:55:31 CEST 2018


On Sat, 11 Aug 2018 11:29:41 +0200
Pablo Rodriguez <oinos at gmx.es> wrote:

> On 08/09/2018 10:16 PM, Alan Braslau wrote:
> > On Thu, 9 Aug 2018 22:00:48 +0200
> > Pablo Rodriguez <oinos at gmx.es> wrote:
> >   
> >> I guess that backwards compatibility should be important here, but I
> >> hope there are stronger reasons for breaking it.  
> > 
> > tonumber() provides backwards compatibility. And the recommendation
> > to use it was in the third edition (of the lua book), if not before,
> > referring to 5.2.  
> 
> I realize that the fault is mine, but with backwards compatibility I
> meant that the same operation (10 + "10") gives different results with
> different Lua versions.
> 
> Pablo

"Bad" coding can be expected to give unpredictable results.

The creators of lua thought that automatic string conversion would be useful (and I believe that they got this feature from "awk", which itself may have gotten this from some previous scripting language). But they learned that automatic string conversion often creates more problems than it solves, so they recommend using explicit conversion through tonumber().

Lua is a very beautiful and powerful language, and it gives me surprises all of the time. Much of what Hans does I like to call "lua magic" meaning that I sort-of understand it but am impressed each time. Does this make lua a poor (problematic) scripting language? I think like all powerful tools, one must take care in their use.

Alan


More information about the ntg-context mailing list