luaL_optinteger (lua_State *L, int narg, lua_Integer def)

luaL_optinteger (lua_State *L, int narg, lua_Integer def)
narg指第几个。
栈索引
def指默认值。
也就是narg指定的栈上没数据时,用def的值替代。
和默认参数一个概念。
类似get_stack_bydefault(L,index,default)?
LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int narg,
lua_Integer def) {
  return luaL_opt(L, luaL_checkinteger, narg, def);
}
其内部是传递一个check integer类型的函数啊。
也就是靠这个函数来check值。
#define luaL_opt(L,f,n,d)    (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))
就是先看指定的栈索引是否为nil,不是nil那就check一个数据
#define lua_isnoneornil(L, n)    (lua_type(L, (n)) <= 0)
#define LUA_TNIL        0
nil类型就是0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值