-1

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);
}
4

1 に答える 1

0

私は、Luaライブラリがどのようにロードされているかに関連する問題を特定しました。個々の読み込みを次のように変更するだけです。

luaL_openlibs(lua);

問題全体を修正しました。それでも、I/Oライブラリを単独で呼び出すことが機能しなかった理由はまだわかりません。

于 2012-11-27T14:31:30.553 に答える