有没有更好的方法来查看 Lua table 中的字段是否存在,如果它被初始化为 false
Is there a better way to see if a field in a Lua table exists if it is initialized with false
正如标题所暗示的那样。考虑这个来源:
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
是否作为字段存在于 table 中,尽管它是一个布尔值,其中写入的 false
值比 pairs
更好?
不要检查错误。检查 "is nil".
所以,不要这样做 if X then
。做 if X ~= nil then
.
正如标题所暗示的那样。考虑这个来源:
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
是否作为字段存在于 table 中,尽管它是一个布尔值,其中写入的 false
值比 pairs
更好?
不要检查错误。检查 "is nil".
所以,不要这样做 if X then
。做 if X ~= nil then
.