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独自の拡張あり