c - Lua 5.3-整数-type()-lua_type()

标签 c lua integer

从Lua 5.3开始,支持整数。
但是我该怎么办:

if type( 123 ) == "integer" then
end

要么
switch( lua_type( L, -1 ) )
{
case LUA_TINTEGER:
    break;
}

因为type()仍将返回整数和实数的"number",并且LUA_TINTEGER不存在?
谢谢。

最佳答案

在Lua 5.3中,可以使用math.tointeger检查该值是否为整数。
http://www.lua.org/manual/5.3/manual.html#pdf-math.tointeger


如果值x可转换为整数,则返回该整数。
否则,返回nil。


在C中,您可以将lua_isinteger用于相同的目的。
http://www.lua.org/manual/5.3/manual.html#lua_isinteger


如果给定索引处的值是整数(即,
value是一个数字,用整数表示),否则为0。

关于c - Lua 5.3-整数-type()-lua_type(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36063303/

相关文章:

c++ - typedef void (*print_type) (const char*);

c - 在不停止执行的情况下观察 gdb 中的局部变量

Python有条件地求解延迟微分方程

lua - table.insert -> 记住插入值的键

PHP intval() 行为?

c - 使用 scanf 的验证检查在循环内不起作用

C 编程编译问题

Lua, WOW 和 "..."

nginx - 使用 Openresty 在 nginx.conf 文件中创建与 Redis 的连接时定义 db 值

c - 较小等于的AVX2整数比较