Luaリファレンス 要注意点 ~コンパイル/Eval~†
dofile("somefile.lua")†
- 要するにimport, includeの類。
ただしpythonでいうところのreloadの機能を兼ねる
プログラム実行後に、somefile.luaを変更し、再びどこかで、dofileをすると、その内容が反映される。
dofileと類似の関数†
- dofile(filename)
先述した通り。
ファイル(のチャンクを)中間コードにコンパイルして、実行する
- loadfile(filename)
該当のファイル(のチャンクを)中間コードにコンパイルして返す。内容を実行はしない。
返り値:
・成功 --> コンパイル済みチャンク
・失敗 --> nil と エラーメッセージ (例: nil, cannot open *****.lua)
を返す。
loadfileはチャンクを実行しないので注意。即ち、dofileとloadfileの関係は以下のようにあらわせる