lua moduleのグローバル変数への影響
1655 ワード
今週ずっとluaを研究して、この間ちょうど1つの問題を解決して、moduleがグローバル変数に対する影響で、luaに対してまだ系統的に深く理解していないため、この問題は私の半日の時間を振り回して、大体私はメインファイルの中の1つのモジュールファイルで1つのAAAグローバル変数を宣言して、それからモジュールファイルの中でこのAAA変数を修正して、さらに変数BBBを追加して、このモジュールファイルを実行した後、AAAとBBBの値を再度表示して、BBBの値を発見した時nil、くだらないことは多く言わないで、コードをつけましょう
main.lua
a.luaファイル
lua mainを実行します.lua後、結果は以下の通りです.
みんなは結果を見たでしょう、具体的な原理はまだはっきりしていないで、後で補充しましょう
main.lua
require "a"
print("*********************".."*****************") -- ..
print(AAA[1])
print(AAA[2])
print(BBB[1])
print(BBB[2])
print("**************************************")
b= require "b"
b.run()
print(AAA[1])
print(AAA[2])
print(BBB[1])
print(BBB[2])
print("**************************************")
a.luaファイル
AAA = {}
AAA[1] = 10
BBB = {}
module(..., package.seeall)
function run()
print("**************************************")
AAA[2] = 20
print(AAA[1])
print(AAA[2])
BBB= AAA
print(BBB[1])
print(BBB[2])
print("**************************************")
return 0
end
lua mainを実行します.lua後、結果は以下の通りです.
**************************************
10
nil
nil
nil
**************************************
**************************************
10
20
10
20
**************************************
10
20
nil
nil
**************************************
みんなは結果を見たでしょう、具体的な原理はまだはっきりしていないで、後で補充しましょう