On Sat, 11 Aug 2018 11:29:41 +0200 Pablo Rodriguez <oi...@gmx.es> wrote:
> On 08/09/2018 10:16 PM, Alan Braslau wrote: > > On Thu, 9 Aug 2018 22:00:48 +0200 > > Pablo Rodriguez <oi...@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 ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________