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

时间:2015-02-06 14:34:52

标签: 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

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

T       true    YES
F       false   NO
S       ASDF    YES
N       123     YES
E               YES

如您所见,A.F = falseif语句表明它不存在。 有没有更好的方法来查看F是否作为表中的字段存在,尽管它是一个布局,其中false值写入比pairs更好?

1 个答案:

答案 0 :(得分:6)

不要检查假性。检查“是否为零”。

所以,不要if X then。做if X ~= nil then