我不确定是否可以使用 if x then foo() end
来检测 Lua 中的 x 不是 nil。
手头的项目中有很多这样的检测,所以我需要一个建议,如果我把它们全部改变还是放手。
谢谢。
对于任何条件语句,表达式在两个条件下都被认为是假的:表达式是布尔值false
或表达式是nil
。
因此,如果x
既不nil
也不false
,if x then foo() end
会打电话给foo
.如果要将其限制为仅nil
(通常不会),请使用 x ~= nil
。