Lua (5.2.1) スクリプトで初めてファイルへの書き込みをテストしており、2 つのバージョンを交互に使用しています。
バージョン 1
local ofile = io.open("save.txt", "w")
ofile:write("Writing to file...")
ofile:close()
バージョン 2
io.output("save.txt")
io.write("Writing to file...")
io.close()
これらは両方とも、ZeroBrane Studio でのデバッグ時には完全に機能しますが、私のプログラムのスクリプトに挿入すると、ファイルに書き込まれず、その時点以降のコードは明らかに実行されません。
ところで、私は自分のプログラムに I/O ライブラリを含めました。
lua_State *lua = luaL_newstate();
static const luaL_Reg lualibs[] = {
{ "base", luaopen_base },
{ "io", luaopen_io },
{ "string", luaopen_string },
{ "table", luaopen_table },
{ NULL, NULL}
};
const luaL_Reg *lib = lualibs;
for(; lib->func != NULL; lib++) {
lib->func(lua);
lua_settop(lua, 0);
}