Luaリファレンス 要注意点 ~コルーチン~

この項目を見る前に

先に「ASSERT、例外処理」内にあるpcallの記述を見ておいたほうが、Luaにおける実装指針が理解できるので良い。

dofile(filename)

先述した通り。
ファイル(のチャンクを)中間コードにコンパイルして、実行する

loadfile(filename)

該当のファイル(のチャンクを)中間コードにコンパイルして返す。

内容を実行はしない。

返り値:

成功コンパイル済みチャンク
失敗nil と エラーメッセージ (例: nil, cannot open *****.lua)

を返す。

loadfileはチャンクを実行しないので注意。
即ち、dofileとloadfileの関係は自作するなら、以下のようにあらわせる

function dofile (filename)
    local f = assert(loadfile(filename))  -- loadfileは実行しない。コンパイルしたチャンクを無名関数として返すのみ
    return f() -- 実行
end



トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS