Skip to content

lua_dump

関数をバイナリチャンクとしてダンプします。

[-0, +0, m]

c
int lua_dump (lua_State *L, lua_Writer writer, void *data);

説明

関数をバイナリチャンクとしてダンプします。スタックの先頭にあるLua関数を受け取り、再度ロードすると元の関数と同等の関数となるバイナリチャンクを生成します。チャンクの一部を生成すると、lua_dumpは与えられたデータでそれらを書き込むために関数ライター(lua_Writer参照)を呼び出します。

戻り値は、ライターへの最後の呼び出しによって返されたエラーコードです。0はエラーがないことを意味します。

この関数はスタックからLua関数をポップしません。

サンプルコード

c
int result = lua_dump(L, writer_function, NULL);
if (result != 0) {
    fprintf(stderr, "ダンプ中にエラーが発生しました\n");
}

このコードは、writer_functionを使用してLua関数をバイナリチャンクにダンプし、エラーが発生した場合にはエラーメッセージを表示します。

互換性

  • Lua5.1

関連項目

  • luaL_loadbuffer
  • luaL_loadfile