我有一个小的 Lua 脚本:
function g ()
print( AUp);
end
从 CI 加载脚本,添加一个名为 AUp 的变量并让它运行几百次。
for( i=0; i<2000; i++)
{
num= i;
lua_pushnumber( L, i);
lua_setglobal( L, "AUp");
lua_getglobal( L, "g");
if (lua_call( L, 0, 0) != 0)
printf( "%s", lua_tostring(L, -1));
}
print 的输出始终为 0。如果我把(i+1)放进去,输出总是1。我不能改变AUp的值。该值保持不变,就像第一次调用 lua_pushnumner 和 lua_setglobal 一样。
怎么了?该函数应该被一次又一次地调用,但是 AUp 的值可以改变,所以我必须在调用之前更新它lua_call
。