查询元素
C API 使用索引来引用栈中的元素。第一个被压入栈的元素索引为1,第二个为2,依此类推。我们也可以用站定作为参照,使用负数来访问栈中的元素。
要检查栈中的元素是否为特定的类型,C API 提供了一系列名为 lua_is* 的函数,其中 * 可以是任意的一种 Lua 类型。
int lua_is*(lua_State *L, int index);
//这样的函数有lua_isnil, lua_isnumber, lua_isstring, 和 lua_istable等。
实际上,函数 lua_isnumber 不会检查某个值是否为特定的类型,而是检查该值是否能被转换为此特定类型。函数 lua_isstring 与之类似,特别之处则在于,它接受数字。
函数 lua_type 用于返回栈中的元素类型,每一种类型都由一个对应的常量表示,包括 LUA_TNIL, LUA_TBOOLEAN, LUA_TNUMBER, LUA_TSTRING 等。
函数 lua_to* 用于从栈中获取一个值:
int lua_toboolean(lua_State *L, int index);
const char *