Lua 为什么';如果不是s';和';s~=nil';他们有什么不同?
在Lua中,我写了以下内容:Lua 为什么';如果不是s';和';s~=nil';他们有什么不同?,lua,Lua,在Lua中,我写了以下内容: for s in string.gmatch(path, "([^'\\']+)") do if not s then -- if s ~= nil then table.insert(path_tb, s) print(s) end end 如果我用替换如果不是s那么如果s~=nil那么我得到一个不同的结果。这背后的原因是什么?不是s当s为nil或s为false时,s就是真的。如果s~=nil,那么几乎等同于如果s
for s in string.gmatch(path, "([^'\\']+)") do
if not s then -- if s ~= nil then
table.insert(path_tb, s)
print(s)
end
end
如果我用
替换如果不是s那么
如果s~=nil那么
我得到一个不同的结果。这背后的原因是什么?不是s
当s
为nil或s
为false时,s就是真的。如果s~=nil,那么
几乎等同于如果s,那么路径的值是什么?我看不出这两者在迭代器上使用是多么有用s
将始终是字符串(空时从不为假,也从不为nil
)