原型:void lua_rawgeti (lua_State *L, int index, int n); 解释:把 t[n] 的值压栈, 这里的 t 是指给定索引 index 处的一个值。 这是一个直接访问,它不会触发元方法。 lua_rawseti## 原型:void lua_rawseti (lua_State *L, int index, int n); 解释: 等价于 t[n] = v, 这里的 t 是指...
首先 你函数名多打了个i 应该是lua_rawset lua的表 如果带有 __newindex 原表的话 在给表的值赋值的时候会按照原表规定的方法执行函数,而不是走普通的赋值路线 此时如果需要给表内的值赋值的话 只能通过这个函数赋值 函数名之前带有lua_ 表示这个是在宿主语言里操作的 比如C调用lua时 直接带有...
lua_rawseti(L, -2, 1) <== mytable[1] = "abc", pop value "abc" lua_getfield必须为字符串键 lua_getglobal(L, "mytable") <== push mytable lua_getfield(L, -1, "x") <== push mytable["x"],作用同下面两行调用 --lua_pushstring(L, "x") <== push key "x" --lua_gettab...
staticinteuh_init_keymod_table(lua_State *L){// str->kmodlua_newtable(L);// kmod->strlua_newtable(L);// KMOD_NONElua_pushliteral(L,"none"); lua_pushinteger(L,KMOD_NONE); lua_rawset(L,-3); lua_pushliteral(L,"none");lua_rawseti(L,-3,KMOD_NONE);// KMOD_LSHIFTlua_pushlite...
C.lua_rawseti(s.l, C.int(index), C.int(n)) } 开发者ID:halturin,项目名称:luajit,代码行数:8,代码来源:state.go 注:本文中的C.lua_rawseti函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目...
lua_rawseti(L, -2, 1) <== mytable[1] = "abc", pop value "abc" lua_getfield必须为字符串键 lua_getglobal(L, "mytable") <== push mytable lua_getfield(L, -1, "x") <== push mytable["x"],作用同下面两行调用 --lua_pushstring(L, "x") <== push key "x" ...
LuaState L =null;using(L =newLuaState()) { L.CreateTable(0,0); Assert.Equal(1, L.GetTop()); L.PushString("Value"); L.RawSetI(1,2); Assert.Equal(1, L.GetTop()); L.RawGetI(1,1); Assert.Equal(2, L.GetTop());
lua.RawGetI(1, i-1); lua.RawSetI(1, i );// t[i] = t[i-1]}break; }default: {returnlua.L_Error("wrong number of arguments to 'insert'"); } } lua.RawSetI(1, pos );// t[pos] = vreturn0; } 开发者ID:jaydenh,项目名称:UniLua,代码行数:30,代码来源:LuaTableLib.cs ...