私はルアでロープを学ぼうとしています。私はオンラインチュートリアルを進んでいました。私が解決しようとした1つの問題は、テーブルlocal foo = {}
を調べていくつの要素があるかを調べることでした。このチュートリアルでは、local length = table.getn(foo)
の使用を提案しました。私がLua52を使って試してみると、attempt to call field 'getn' (a nil value)
というエラーが出ます。私はさらに調べて、table
で与えられた関数のどれもが同じタイプのエラーを生成することに気づいた。 table
ライブラリはLuaから削除されましたか?それはサードパーティの図書館ですか、それとも何ですか?Luaテーブルライブラリが削除されましたか?
11
A
答えて
27
#foo
のように、長さ演算子#
を使用してください。
table.getn
は、5.1では廃止され、5.2では削除されました。
5
テーブルライブラリは削除されませんでした。これは言語とモジュールシステムの重要な部分です。 getn
関数が削除されましたが、がない場合は、テーブル関数のが機能します。これは、table
を上書きしたためです。
"lua size of array"の最初のヒットは、 'table.getn'を唱える[これは明らかにひどく古くなった本](https://www.lua.org/pil/19.1.html)です。それは 'lua.org'にあります。 – Zulan