|
I had try it in Lua 5.1.4 win xp:> =1 or false1 -- right> =1 and true or falsetrue -- right> =1 or false and true or false1 -- wrong> =((1 or false) and true)or false1 -- wrong>--On Thu, Apr 16, 2009 at 12:37, Kelley, Brian <bkelley@qualcomm.com> wrote:
I was surprised to notice the following:
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> =((1 or false) and true) or false
1
Same results on 5.1.2 and 5.1.3, MacOS and Windows.
For what it's worth, I observed in lcode.c that the OPR_AND _expression_ inherited the 'k' (kind) of VTRUE from its rhs subexpression, which seems wrong and seems to throw off the subsequent call to luaK_goiffalse().
-bhk
Regards,
Linker Lin
linker.m.lin@gmail.com