lua-users home
lua-l archive

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


> On Jul 29, 2015, at 7:53 AM, Soni L. <fakedme@gmail.com> wrote:
> 
> 
> 
> On 29/07/15 11:18 AM, Dirk Laurie wrote:
>> 2015-07-29 15:56 GMT+02:00 Soni L. <fakedme@gmail.com>:
>> 
>>> Can we get true | false to be a thing?
>> debug.setmetatable(true,{
>>   __bor = function(x,y)
>>     assert (type(x)=='boolean' and type(y)=='boolean')
>>     return x or y
>>   end;
>>     __band = function(x,y)
>>     assert (type(x)=='boolean' and type(y)=='boolean')
>>     return x and y
>>   end;
>> })
>> 
>> I like that! But why do you call it a proposal?
>> 
> It would be non-short-circuiting and/or.
> 
> -- 
> Disclaimer: these emails are public and can be accessed from <TODO: get a non-DHCP IP and put it here>. If you do not agree with this, DO NOT REPLY.
> 
> 

function andx(c1, c2) return c1 and c2 end
function orx(c1, c2) return c1 or c2 end

...
if andx(a < 100, b > 300) then … end

etc. And of course easy to extend andx() and orx() to take varargs for as many expressions as you want.

—Tim