2012-08-09 61 views
11

我正試圖學習Lua上的繩索,並且正在瀏覽在線教程。我試圖解決的一個問題是檢查表local foo = {}以查看它有多少元素。教程給出了使用local length = table.getn(foo)的建議。當我嘗試使用Lua52時,出現錯誤,提示attempt to call field 'getn' (a nil value)。我環顧四周,並進一步發現任何與table給出的函數產生相同類型的錯誤。從Lua中刪除了table庫嗎?它是第三方庫,還是什麼給?刪除了Lua表格庫嗎?

回答

27

使用長度運算符##foo中相同。

table.getn已在5.1中棄用,並在5.2中刪除。

+2

第一擊爲「陣列的LUA大小」是[這顯然可怕過時的書(https://www.lua.org/pil/19.1.html)倡導'table.getn'。這就是'lua.org'。 – Zulan 2016-09-11 22:00:25

5

表庫未被刪除,因爲它是語言和模塊系統的重要組成部分。除去getn功能,但如果表功能沒有的工作,它幾乎可以肯定,因爲你已經覆蓋table