看openresty源码对入栈出栈的操作看的比较混乱,例如:ngx_http_lua_shdict_get_helper 函数中static int
ngx_http_lua_shdict_get_helper(lua_State *L, int get_stale)
{
...
n = lua_gettop(L);
if (n != 2) {
return luaL_error(L, "expecting exactly two arguments, "
"but only seen %d", n);
}
zone = lua_touserdata(L, 1);
if (zone == NULL) {
return luaL_error(L, "bad \"zone\" argument");
}
中lua_touserdata 怎么赋值给zone呢?看代码的上下文也没找到相关的操作?