Hello!
2013/5/23 xunen:
> 比如
>
> mymod 模块 代码如下:
> ----------
> ngx_int_t
> ngx_http_mymod_handler(ngx_http_request_t *r)
> {
> ...
> const char buf[] = "ngx.var.v_a = 5\n" // 用 lua 处理逻辑
>
> rc = luaL_loadbuffer(L, buf, sizeof(buf) - 1,"set v_a")
> ...
> }
>
简单的纯计算的 Lua 代码是可以随便执行的,但要小心别让 L 的栈溢出了(即完事后要及时清理 L 堆栈上你推上去的 Lua 值)。
当然,你也完全可以在主 VM 上用 lua_newthread 创建自己的协程,然后在自己的协程对应的 lua_State
里面随便搞(但最后也要记得清理你自己创建的协程)。
Best regards,
-agentzh