NL_dofileの仕様確認
NL_dofileについて調べてみた。
疑問1:NL_dofileに複数の引数を与えたらどうなるか。
system.lua
NL_dofile("sample1.lua", "sample2.lua")
sample1.lua
--sample1.lua do NSOkBox("sample1", "通った!") end
疑問2:文字列以外を引数に与えたらどうなるか。
system.lua
--system.lua NL_dofile() -- 1.nil NL_dofile(nil) -- 2.nil NL_dofile(1) -- 3.number NL_dofile("string") -- 4.string NL_dofile(true) -- 5.boolean NL_dofile({}) -- 6.table
結果2
- 1
- エラーが出て止まる。
- 2
- エラーが出て止まる。
- 3
- 何も起こらず続きが実行される。
- 4
- ファイルが存在しないとエラーが出て止まる。
- 5
- エラーが出て止まる。
- 6
- エラーが出て止まる。
疑問3:同じファイルを二度読み込んだらどうなるか。
sytstem.lua
--system.lua NL_dofile("sample.lua") -- 一回目の読み込み NL_dofile("sample.lua") -- 二回目の読み込み
sample.lua
--sample.lua count = count or 0 do count = count + 1 NSOkBox(tostring(count), "通った回数") end
結果3:ボックスが二回出た。つまり、同じことが何度でも実行される。
疑問4:NL_dofileの最中にNL_dofileは可能か?
system.lua
--system.lua NL_dofile("sample1.lua") sample1() sample2()
sample1.lua
--sample1.lua NL_dofile("sample2.lua") do function sample1() NSOkBox("俺、参上!", "sample1") end end
sample2.lua
--sample2.lua do function sample2() NSOkBox("俺、参上!", "sample2") end end
結果4:どうやらできるっぽい。sample1とsample2が問題なく実行できた。