loadstring という関数を使うと、文字列を Lua の関数にコンパイルする。 そこで返ってきた関数を呼び出すと、実際にコンパイルされたコードが走るという 2 段階構成。 文字列として与えたコードは、関数として評価されるので、Lisp の read のように単にデータを読み込ませたいだけの場合は return を入れればいい。 $ ./lua5.1 -e 'a=loadstring("return {123}");print(tostring(a));print(a()[1])' function: 0000000000602520 123 Lua の Windows 用バイナリはこちら。 http://luabinaries.luaforge.net/ Comments