2
A
回答
8
在Lua函數中,實際上可以將nil
的值與無值相區分,假設他們期望使用...
運算符的變量數量的參數。儘管如此,這不是非常簡單也不合理的。例如:
function myFunc(...)
if select('#', ...) == 0 then
print "Called without argument"
elseif select('#', ...) == 1 and select(1, ...) == nil then
print "Called with a nil argument"
end
end
+1
有趣的是,'#{...}'在這種情況下不起作用,而'select('#',...)'做。 'select'在'1,nil,2'的情況下也能正常工作,而'#{...}'返回1(如文檔所述)。 –
相關問題
- 1. 多個Lua VM檢測到
- 2. Lua調用一個零值
- 3. 傳遞給表中的函數的Lua參數爲零
- 4. QR檢測參數
- 5. 檢測參數HTTP
- 6. Lua Api單元測試
- 7. 功能參數LUA
- 8. Linq檢測數組中的非零GUID?
- 9. C++&Lua,推Lua表作爲參數
- 10. Javascript檢測到零錨點
- 11. Lua「嘗試索引?(一個零值)
- 12. Lua「試圖索引一個零值」
- 13. Lua嘗試索引? (一個零值)
- 14. 如何測試單個文件Lua腳本中的函數?
- 15. 檢測參數的DbCommand
- 16. 檢測參數類型xslt
- 17. 檢查參數在測試
- 18. NDesk.Options - 檢測無效參數
- 19. 通過參數值檢測
- 20. 檢測命令行參數
- 21. 在mac os上編譯一個動態庫x鏈接到lib lua導致「lua:檢測到多個Lua VMs」
- 22. 檢查單個位是否爲零
- 23. LUA模式檢測匹配日期
- 24. 檢測單個SYN或FIN數據包
- 25. php checkdate,單獨檢查每個參數
- 26. Lua:表預計,得到零
- 27. Lua中返回表是零
- 28. 的Lua不走了「零」表
- 29. LUA:表索引是零
- 30. Lua的碰撞零值
我不這麼認爲。此外,你爲什麼要這樣做? –
這是一個奇怪的例子,我正在用getter/setter繪製一個基本系統,lua使用metamethods __index,__newindex對此有着出色的支持。然而,我想保持這個簡單,因爲我也打算支持一個js後端(我正在生成代碼) – teadrinker
「這是一個奇怪的情況」似乎就夠了。 –