Skip to content

loadfile

ファイルからLuaコードを読み込み、チャンクを返す

lua
loadfile ([filename [, mode [, env]]])

説明

load 関数と同様に、指定したファイル filename から Lua コードを読み込み、コンパイルされたチャンクを返します。filename を省略すると、標準入力(stdin)からコードを読み込みます。

サンプルコード

lua
local f = loadfile("test.lua")
f()

この例では、test.luaが読み込まれ、実行されます。

LuaJIT独自の拡張

LuaJITではUTF-8エンコーディングのソースコードを処理できるように拡張されています。

また引数modeでモードパラメータを指定することで、チャンクが「テキストチャンク」または「バイナリチャンク」として処理されるかを制御できます。モードパラメータの詳細は以下の通りです。

  • "t": テキストチャンクのみを許可します
  • "b": バイナリチャンクのみを許可します
  • "bt": テキストとバイナリの両方を許可します(デフォルト)

拡張版のサンプルコード

lua
local f = loadfile("test.lua", "t")  -- "t" モードでテキストチャンクとして処理
print(f())  -- 出力: こんにちは、ファイル!

この例では、UTF-8文字列を含むtest.luaファイルをloadfileで読み込み、テキストチャンクとして実行します。

互換性

  • Lua5.2
  • LuaJIT独自の拡張あり

関連項目