文書の出典
- 出典
- Lua 5.5.1 Documentation
- 上流バージョン
- Lua 5.5.1
- 文書状態
- 翻訳
補助関数と型:dofile–loadstring
luaL_dofile
[-0, +?, m]
int luaL_dofile (lua_State *L, const char *filename);指定されたファイルを読み込んで実行します。次のマクロとして定義されています。
(luaL_loadfile(L, filename) || lua_pcall(L, 0, LUA_MULTRET, 0))エラーがなければ0(LUA_OK)を、エラーの場合は1を返します。(ただし、メモリ不足エラーは発生させます。)
luaL_dostring
[-0, +?, –]
int luaL_dostring (lua_State *L, const char *str);指定された文字列を読み込んで実行します。次のマクロとして定義されています。
(luaL_loadstring(L, str) || lua_pcall(L, 0, LUA_MULTRET, 0))エラーがなければ0(LUA_OK)を、エラーの場合は1を返します。
luaL_error
[-0, +0, v]
int luaL_error (lua_State *L, const char *fmt, ...);エラーを発生させます。エラーメッセージの形式は、lua_pushfstringと同じ規則に従うfmtとすべての追加引数によって指定されます。また、情報を利用できる場合、メッセージの先頭へエラーが起きたファイル名と行番号を追加します。
この関数が返ることはありませんが、C関数でreturn luaL_error(args)として使うのが慣用表現です。
luaL_execresult
[-0, +3, m]
int luaL_execresult (lua_State *L, int stat);この関数は、標準ライブラリのプロセス関連関数(os.executeとio.close)の戻り値を生成します。
luaL_fileresult
[-0, +(1|3), m]
int luaL_fileresult (lua_State *L, int stat, const char *fname);この関数は、標準ライブラリのファイル関連関数(io.open、os.rename、file:seekなど)の戻り値を生成します。
luaL_getmetafield
[-0, +(0|1), m]
int luaL_getmetafield (lua_State *L, int obj, const char *e);インデックスobjのオブジェクトのメタテーブルからフィールドeをスタックへプッシュし、プッシュした値の型を返します。オブジェクトにメタテーブルがない場合、またはメタテーブルにこのフィールドがない場合は、何もプッシュせずLUA_TNILを返します。
luaL_getmetatable
[-0, +1, m]
int luaL_getmetatable (lua_State *L, const char *tname);レジストリ内で名前tnameに関連付けられたメタテーブル(luaL_newmetatableを参照)をスタックへプッシュします。その名前に関連付けられたメタテーブルがなければnilをプッシュします。プッシュした値の型を返します。
luaL_getsubtable
[-0, +1, e]
int luaL_getsubtable (lua_State *L, int idx, const char *fname);インデックスidxの値をtとしたとき、値t[fname]がテーブルであることを保証し、そのテーブルをスタックへプッシュします。以前からあるテーブルを見つけた場合はtrue、新しいテーブルを作成した場合はfalseを返します。
luaL_gsub
[-0, +1, m]
const char *luaL_gsub (lua_State *L,
const char *s,
const char *p,
const char *r);文字列sのコピーを作成し、文字列pのすべての出現を文字列rへ置き換えます。結果の文字列をスタックへプッシュして返します。
luaL_len
[-0, +0, e]
lua_Integer luaL_len (lua_State *L, int index);指定されたインデックスの値の「長さ」を数値として返します。Luaの’#’演算子と等価です(§3.4.7を参照)。操作の結果が整数でない場合はエラーを発生させます。(この場合はメタメソッドを通じてのみ起こり得ます。)
luaL_loadbuffer
[-0, +1, –]
int luaL_loadbuffer (lua_State *L,
const char *buff,
size_t sz,
const char *name);modeをNULLとしたluaL_loadbufferxと等価です。
luaL_loadbufferx
[-0, +1, –]
int luaL_loadbufferx (lua_State *L,
const char *buff,
size_t sz,
const char *name,
const char *mode);バッファーをLuaチャンクとして読み込みます。この関数はlua_loadを使い、buffが指すサイズszのバッファー内のチャンクを読み込みます。
この関数はlua_loadと同じ結果を返します。nameはデバッグ情報とエラーメッセージに使われるチャンク名です。文字列modeは関数lua_loadと同様に動作します。特に、この関数は固定バッファー用のモード’B’をサポートします。
luaL_loadfile
[-0, +1, m]
int luaL_loadfile (lua_State *L, const char *filename);modeをNULLとしたluaL_loadfilexと等価です。
luaL_loadfilex
[-0, +1, m]
int luaL_loadfilex (lua_State *L, const char *filename,
const char *mode);ファイルをLuaチャンクとして読み込みます。この関数はlua_loadを使い、filenameという名前のファイル内のチャンクを読み込みます。filenameがNULLなら、標準入力から読み込みます。ファイルの先頭行が#で始まる場合、その行を無視します。
文字列modeは関数lua_loadと同様に動作します。
この関数はlua_loadと同じ結果を返し、ファイル関連のエラーではLUA_ERRFILEを返します。
lua_loadと同様、この関数はチャンクを読み込むだけで、実行はしません。
luaL_loadstring
[-0, +1, –]
int luaL_loadstring (lua_State *L, const char *s);文字列をLuaチャンクとして読み込みます。この関数はlua_loadを使い、ゼロ終端文字列s内のチャンクを読み込みます。
この関数はlua_loadと同じ結果を返します。
同じくlua_loadと同様、この関数はチャンクを読み込むだけで、実行はしません。