プログラミング言語 Lua
■ このスレッドは過去ログ倉庫に格納されています
0246デフォルトの名無しさん
NGNGtest.c:
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
int main(int argc, char **argv) {
int index, i;
lua_State *L, *co;
L = lua_open();
lua_baselibopen(L);
index = lua_gettop(L);
lua_dofile(L, "test.lua");
lua_settop(L, index);
lua_getglobal(L, "coroutine");
lua_pushstring(L, "create");
lua_gettable(L, -2);
lua_getglobal(L, "co_func");
lua_call(L, 1, 1);
co = lua_tothread(L, -1);
lua_setglobal(L, "co");
index = lua_gettop(L);
for (i = 0; i < 4; i++) {
lua_pushnumber(co, i);
printf("c: resume=%d\n", lua_resume(co, 1));
printf("c: co top=%d, L top=%d\n", lua_gettop(co), lua_gettop(L));
printf("c: co result1=%lf\n", lua_tonumber(co, -2));
printf("c: co result2=%lf\n", lua_tonumber(co, -1));
}
lua_close(L);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています