Доброго времени суток!
Проблема такая: есть скрипт
startup.txt
function foo()
return "test 1 ","test 2\n"
end
function test()
print(foo()); -- здесь выводит "test 1 ","test 2\n"
return foo() -- а здесь, теоритически, должен возвратить "test 1 ","test 2\n"
end
код:
lua_State *L = lua_open();
luaopen_base(L);
luaopen_table(L);
lua_iolibopen(L);
lua_strlibopen(L);
lua_settop(L, 0);
luaL_loadfile(L, "startup.txt");
lua_pcall(L, 0,0,0);
lua_newtable(L);
lua_setglobal(L, "arg1") ;
lua_getglobal(L, "test");
lua_pcall(L, 0, 1, 0);
for(int i=1;lua_isstring(L,i);i++)
printf("%s \n", lua_tostring(L, i)); //здесь должен вывести "test 1 ","test 2\n" ,
//а выводит "test 1 "Так проблема такая: как из главной программы получить все возвращаемые значения Lua?
Paltr
попробую помочь... но попозже
>Так проблема такая: как из главной программы получить все возвращаемые значения Lua?
скорей всего через стек
Andrey
>скорей всего через стек
Енто понятно - вроде в посте 0 я и выложил код который это должен делать - но не делает,
вот проблема. Наверное вся проблема в последней строчке кода, но я эту проблему не вижу...
Пост 0
lua_pcall(L, 0, 1, 0);
Qiller
Спасибо БОЛЬШОЕ!!!!!!!!
Paltr
Нам расскажешь?
Тема в архиве.