如果使用false初始化Lua表中的字段,是否有更好的方法可以查看它是否存在

Дея*_*ров 2 lua lua-table

正如标题所暗示的那样.考虑这个来源:

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
Run Code Online (Sandbox Code Playgroud)

哪些打印(订单不同,因为它是pairs):

T       true    YES
F       false   NO
S       ASDF    YES
N       123     YES
E               YES
Run Code Online (Sandbox Code Playgroud)

正如你在这里看到的那样A.F = false,if声明说它不存在.有没有更好的方法来查看F作为一个字段在表中是否存在尽管是一个布尔false值,其中写入的值更好pairs

Eta*_*ner 6

不要检查假性.检查"是否为零".

所以,不要这样做if X then.做if X ~= nil then.