2016-04-03 4 views
4

すべてのファイルがモジュール(...、package.seeall)で始まるluaのコードベースで作業しています。しかし、このモジュールのキーワードはLua 5.2ではサポートされなくなりました。コードベースはかなり大きく、インターリーブするので、特定のファイルに対してrequire(filename)を実行することは不可能です。私はLuaのウェブサイトから関連記事を読んだが、package.seeallを置き換えても、プログラムを実行するのに必要なファイルを要求するという同じ機能を維持することができる最高/最もクリーンな/最も簡単な方法は何であるかまだ分かっていない。 ありがとうLuaモジュール(...、package.seeall)はLua5.2で動作しません

+1

'module(" modulename "、package.seeall)を' modulename = setmetatable({_ NAME = "modulename"}、{__ index = _G})に置き換えます。ローカル_ENV =モジュール名; _M、_PACKAGE = _ENV、_NAME: "^。+%。"または "" –

答えて

3

module()はLua 5.2では非推奨です。新しい構文を使用する必要があります(プログラム内でテーブルを作成して返します)。もともと使用していたフォーマットはサポートされなくなりました。

実際に使用したい場合は、-DLUA_COMPAT_MODULEフラグでLuaをコンパイルする必要があります。

関連する問題