为什么'if not s'和's〜= nil'不同?

时间:2018-10-22 08:10:29

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

如果我将if not s then替换为if s ~= nil then,则会得到不同的结果。这是什么原因造成的?

1 个答案:

答案 0 :(得分:2)

not s恰好在s为nil或s为false时为真。