ПрограммированиеФорумОбщее

Lua: проблема с return

#0
16:26, 19 янв 2006

Доброго времени суток!
Проблема такая: есть скрипт
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?

#1
16:34, 19 янв 2006

Paltr
попробую помочь... но попозже
>Так проблема такая: как из главной программы получить все возвращаемые значения Lua?
скорей всего через стек

#2
16:49, 19 янв 2006

Andrey
>скорей всего через стек
Енто понятно - вроде в посте 0 я и выложил код который это должен делать - но не делает,
вот проблема. Наверное вся проблема в последней строчке кода, но я эту проблему не вижу...

#3
18:31, 19 янв 2006

Пост 0

#4
18:37, 19 янв 2006

lua_pcall(L, 0, 1, 0);

#5
18:51, 19 янв 2006

Qiller
Спасибо БОЛЬШОЕ!!!!!!!!

#6
21:22, 19 янв 2006

Paltr
Нам расскажешь?

ПрограммированиеФорумОбщее

Тема в архиве.