eric2013 发表于 2024-4-18 11:23:42

在Lua中,条件表达式中的非零值被视为真(true),而零值不是一个特殊的“假”(false)值,它也被视为真


在C里面可以这么调用。

在Lua中,条件表达式中的非零值被视为真(true),而零值不是一个特殊的“假”(false)值,它也被视为真。只有nil和false是假的。所以代码中,0x80 & 0x01的结果是0x00,这是一个非零值,因此条件被视为真,会执行then部分的代码。

if (0x80 & 0x01)then
    print("eer")
else
    print("succ")
end

而LUA里面必须得这么调用才行

if (0x80 & 0x01) ~= 0 then
    print("eer")
else
    print("succ")
end




页: [1]
查看完整版本: 在Lua中,条件表达式中的非零值被视为真(true),而零值不是一个特殊的“假”(false)值,它也被视为真