Lua文档中C函数的[x, y, z]标记含义是什么?
Lua C API函数栈操作标记说明
Lua官方文档里C函数条目后的[x, y, z]标记,是用来明确该函数对Lua栈的操作行为,三个位置的含义分别是:
- 第一个数值(x):函数执行后,从栈顶移除的元素数量。负数代表移除,
-0就表示没有元素被移除。 - 第二个数值(y):函数执行后,向栈顶添加的元素数量。
+0表示没有新元素被压入栈。 - 第三个符号(z):表示函数的错误行为。
–(减号)代表该函数不会触发Lua错误;如果是e,则表示函数可能抛出错误,需要调用者处理。
以lua_gettop为例,[-0, +0, –]就意味着:调用这个函数时,既不会从栈顶移除元素,也不会向栈顶添加元素,而且它不会抛出任何Lua错误。
内容的提问来源于stack exchange,提问作者idbrii
相关产品推荐
相关产品推荐

