Lua API
lua_gettable
1 | |
把 t[k] 值压入堆栈, 这里的 t 是指有效索引 index 指向的值, 而 k 则是栈顶放的值。这个函数会弹出堆栈上的 key(把结果放在栈上相同位置),在 Lua 中这个函数可能触发对应 __index 事件的元方法
lua_settable
1 | |
作一个等价于 t[k] = v 的操作, 这里 t 是一个给定有效索引 index 处的值, v指栈顶的值, 而 k 是栈顶之下的那个值。这个函数会把键和值都从堆栈中弹出。 在 Lua 中这个函数可能触发 __newindex 事件的元方法
lua_rawset & lua_rawget
1 | |
lua_rawset类似于 lua_settable, 但是是作一个直接赋值,不触发元方法;lua_rawget 类似于lua_gettable, 但是作一次直接访问,不触发元方法
lua_rawseti & lua_rawgeti
1 | |
lua_rawgeti:把t[n]的值压栈, 这里的t是指给定索引index处的一个值, 这是一个直接访问,不会触发元方法lua_rawseti:等价于t[n] = v,这里的t是指给定索引index处的一个值, 而v是栈顶的值,不会触发元方法
Lua API
https://silhouettesforyou.github.io/2022/01/14/e4c1a6355096/