正如标题所暗示的那样。考虑这个来源:
A = {}
A.T = true
A.F = false
A.N = 123
A.S = "ASDF"
A.E = ""
for k,v in pairs(A) do
local Ex = ""
if(A[k]) then Ex = "YES"
else Ex = "NO"
end
print(k,v,Ex)
end
打印(顺序不同,因为它是 pairs
):
T true YES
F false NO
S ASDF YES
N 123 YES
E YES
正如您在这里看到的 A.F = false
和 if
声明说它不存在。
有没有更好的方法来查看 F
尽管它是一个带有 false
的 bool 值,但作为一个字段存在于表中写在里面的值比 pairs
好?
最佳答案
不要检查 false-y-ness。检查“是否为零”。
所以,不要执行if X then
。执行 if X ~= nil then
。
关于lua - 如果用 false 初始化,是否有更好的方法来查看 Lua 表中的字段是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28368097/