=""==true false > =""==fa-6ren">
gpt4 book ai didi

Lua ""== true等于 ""== false

转载 作者:行者123 更新时间:2023-12-04 08:57:06 24 4
gpt4 key购买 nike

我在理解表达式""==true""==false都如何计算为false时遇到了麻烦。

在lua解释器和ilua中尝试以下操作会得到相同的输出:

> =""==true
false
> =""==false
false

或执行以下命令:
print(""==true)
print(""==false)
print(""==nil)

产出
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
false
false
false
>

另一个例子:
> =""~=true
true
> =""==false
false

运行以下代码时:
if "" then -- if ""==true
print "was true"
end

if not "" then -- if ""==false
print "was not true"
end

输出是(看似不一致)
Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
was true
>

正如Lua FAQ所预期的那样

C-like languages regard 0 as equivalent to false, but this is not true for Lua. Only an explicit false or nil are equivalent to false. When in doubt, make the condition explicit, e.g. if val == nil then ... end unless the value is actually boolean.



值如何不等于 truefalsenill

最佳答案

除nil和false外,所有Lua值均用作 bool 值时均评估为true。这并不意味着评估为true的值等于true。如果要将v值转换为 bool 值,请使用not not v

关于Lua ""== true等于 ""== false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19318901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com