我有這樣一個匿名的Lua功能:的Lua不走了「零」表
an_func = function(x) return x == nil end
我需要從4個值測試它的表:{'None', nil, 1, '1'}
。 所以,我寫了下面的代碼:
for num, element in pairs({'None', nil, 1, '1'}) do
print(num .. ': ' .. tostring(an_func(element)))
end
當我跑了,我只拿到了三條線:
1: false
3: false
4: false
與true
值(對應於nil
表元素)的行不打印。
你能解釋一下,爲什麼Lua會打印所有結果,但是true
?我怎樣才能修復它的輸出全部4行?
P.S.我是Lua的新手。
你已經標記了這個[數組],幾個答案和註釋使用術語「數組」。這是令人困惑的,因爲它可能指的是Lua實現的內部數據結構,或者2)暗示不會從其他編程環境中繼承的特性。這就是爲什麼文檔定義了[序列表]的概念(http://www.lua.org/manual/5.3/manual.html#2.1)。您的表格構造函數不會生成包含序列的表格。 –