文書の出典
- 出典
- Lua 5.5.1 Documentation
- 上流バージョン
- Lua 5.5.1
- 文書状態
- 翻訳
C APIの関数と型:concat–gc
lua_concat
[-n, +1, e]
void lua_concat (lua_State *L, int n);スタック最上部のn個の値を連結してポップし、結果を最上部に残します。nが1なら、結果はスタック上の単一の値です(つまり、関数は何もしません)。nが0なら、結果は空文字列です。連結はLuaの通常の意味論に従って実行されます(§3.4.6を参照)。
lua_copy
[-0, +0, –]
void lua_copy (lua_State *L, int fromidx, int toidx);インデックスfromidxの要素を有効なインデックスtoidxへコピーし、その位置の値を置き換えます。ほかの位置の値には影響しません。
lua_createtable
[-0, +1, m]
void lua_createtable (lua_State *L, int nseq, int nrec);新しい空のテーブルを作成し、スタックへプッシュします。引数nseqはテーブルがシーケンスとして持つ要素数のヒント、引数nrecはテーブルが持つそのほかの要素数のヒントです。Luaはこれらのヒントを使い、新しいテーブルのメモリを事前に割り当てることがあります。テーブルの要素数が事前に分かっている場合、この事前割り当ては性能向上に役立つことがあります。それ以外の場合は関数lua_newtableを使うべきです。
lua_dump
[-0, +0, –]
int lua_dump (lua_State *L,
lua_Writer writer,
void *data,
int strip);関数をバイナリチャンクとしてダンプします。スタック最上部のLua関数を受け取り、再び読み込むとダンプした関数と等価な関数になるバイナリチャンクを生成します。チャンクの各部分を生成するとき、lua_dumpは、指定されたdataを使って書き込むために関数writer(lua_Writerを参照)を呼び出します。
関数lua_dumpはwriter関数の呼び出しを通じてLuaスタックを完全に保持します。ただし、最初の呼び出し前に内部使用の値をいくつかプッシュする場合があり、最後の呼び出し後にスタックサイズを元のサイズへ戻します。
stripがtrueなら、容量を節約するため、バイナリ表現に関数のすべてのデバッグ情報を含めない場合があります。
返される値はwriterの最後の呼び出しが返したエラーコードです。0はエラーなしを意味します。
lua_error
[-1, +0, v]
int lua_error (lua_State *L);スタック最上部の値をエラーオブジェクトとしてLuaエラーを発生させます。この関数はロングジャンプを行うため、決して返りません(luaL_errorを参照)。
lua_gc
[-0, +0, –]
int lua_gc (lua_State *L, int what, ...);ガベージコレクターを制御します。
この関数は引数whatの値に従って複数の処理を行います。追加引数が必要なオプションでは、オプションの後に記載しています。
-
LUA_GCINC:コレクターをインクリメンタルモードへ変更します。以前のモード(LUA_GCGENまたはLUA_GCINC)を返します。 -
LUA_GCGEN:コレクターを世代別モードへ変更します。以前のモード(LUA_GCGENまたはLUA_GCINC)を返します。 -
LUA_GCPARAM(int param, int val):コレクターの引数値を変更または返します。
valが-1なら、呼び出しは現在の値を返すだけです。引数
paramは次の値のいずれかでなければなりません。
これらのオプションの詳細についてはcollectgarbageを参照してください。
この関数をファイナライザーから呼び出すべきではありません。