string.dump
関数のバイトコードを返す
lua
string.dump(f [,mode])説明
指定した関数 f のバイナリ表現(バイトコード)を含む文字列を返します。この文字列を後で loadstring 関数で読み込むと、元の関数を再現することができます。
補足
- LuaJIT の
string.dumpは、移植性のあるバイトコードを生成できます。オプションのmode引数に"b"(移植可能なバイトコード)や"t"(ソースコードとしてダンプ)を指定できます。 - ダンプされたバイトコードは、Lua のバージョンや実装が異なる環境間では互換性がない場合があります。
- セキュリティ上の理由から、不信頼なソースから取得したバイトコードをロードすることは避けてください。
サンプルコード
lua
local f = function() print("Hello") end
local dumped = string.dump(f)
print(dumped)この例では、関数のバイナリ表現が出力されます。
互換性
- Lua 5.1
- LuaJIT