1

コードを含む複数のファイル (main.lua) があり、いくつかの変数と関数をグローバルに宣言する場合。これらの変数と関数はすべてのファイルでグローバルですか? または、どのファイルからでもアクセスできますか? また、グローバル変数と関数だけを使用しても問題はありますか? ディレクタークラスを使用しています

4

4 に答える 4

6

グローバルは定義上は悪くありませんが、一般的には、本当にデータを共有する必要がある場合にのみ使用する必要があります。

そうしないと、対話するべきではないコードの断片になってしまいますが、予期しない方法で変数を共有します (一時変数などを考えてください)。

最善の方法は、変数を絶対に共有する必要がない限り、すべてをローカルに宣言することです。

于 2012-06-27T12:03:45.033 に答える
2

これを読んでください(Corona Labsの公式推奨事項):

http://www.coronalabs.com/blog/2013/05/28/tutorial-goodbye-globals/

基本的に、次のことをお勧めします。

  • グローバル変数を使用しないでください

  • モジュール間で vars にアクセスする場合は、次のようにします。

「モジュール間」変数を格納する新しいモジュールを作成します。

mydata.lua

--my global space
local M = {}
return M

モジュールを他のモジュール内で使用します。

main.lua

local myData = require( "mydata" )
myData.myVariable = 10
director:changeScene("other")

other.lua

local myData = require( "mydata" )
print(myData.myVariable)

結果: 10

お役に立てれば。

于 2013-06-03T08:54:26.840 に答える
-1

複数の lua ファイルがあり、互いに情報を使用できるようにする必要がある場合は、lua のモジュール システムを使用する必要があります。これが設計されたものです。

ここでドキュメントを読むことができます: http://www.lua.org/manual/5.1/manual.html#5.3

于 2012-06-27T13:43:52.533 に答える