lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


I'd vote for removing string coercion! Anyone else?

On Jun 13, 2012, at 6:57 AM, Roberto Ierusalimschy wrote:

>> It seems to be impossible to override arithmetic operators on
>> strings.  One can for example set the __add metamethod, but
>> it only gets called when at least one of the strings cannot be
>> coerced to a number.  For example:
>> 
>>   getmetatable''.__add = function(x,y) return x..y end
>>   'a'+'b' --> 'ab', fine
>>   '1'+'2' --> 3
> 
> In general, arithmetic metamethods are only called when Lua "does not
> know what to do". Lua "does know what to do" with '1' + '2'.
> 
> (Probably the right thing to do would be to elliminate coersion from
> strings to numbers altogether...)
> 
> -- Roberto
>