2012-08-09 6 views
11

私はルアでロープを学ぼうとしています。私はオンラインチュートリアルを進んでいました。私が解決しようとした1つの問題は、テーブルlocal foo = {}を調べていくつの要素があるかを調べることでした。このチュートリアルでは、local length = table.getn(foo)の使用を提案しました。私がLua52を使って試してみると、attempt to call field 'getn' (a nil value)というエラーが出ます。私はさらに調べて、tableで与えられた関数のどれもが同じタイプのエラーを生成することに気づいた。 tableライブラリはLuaから削除されましたか?それはサードパーティの図書館ですか、それとも何ですか?Luaテーブルライブラリが削除されましたか?

答えて

27

#fooのように、長さ演算子#を使用してください。

table.getnは、5.1では廃止され、5.2では削除されました。

+2

"lua size of array"の最初のヒットは、 'table.getn'を唱える[これは明らかにひどく古くなった本](https://www.lua.org/pil/19.1.html)です。それは 'lua.org'にあります。 – Zulan

5

テーブルライブラリは削除されませんでした。これは言語とモジュールシステムの重要な部分です。 getn関数が削除されましたが、がない場合は、テーブル関数のが機能します。これは、tableを上書きしたためです。