[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Arithmetic on strings
- From: Tim Hill <drtimhill@...>
- Date: Fri, 6 Jul 2012 21:06:05 -0700
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
>