当前位置 : 主页 > 网络编程 > lua >

我们为什么要使用lua_pushinteger()?

来源:互联网 收集:自由互联 发布时间:2021-06-23
Lua的当前版本不支持整数,只支持浮点数. (随着即将到来的5.3这种情况正在改变,但让我们忽略这一点.) 所以,我的问题是:lua_pushinteger()有什么用?如果数字被转换为浮点数,为什么不直接
Lua的当前版本不支持整数,只支持浮点数. (随着即将到来的5.3这种情况正在改变,但让我们忽略这一点.)

所以,我的问题是:lua_pushinteger()有什么用?如果数字被转换为浮点数,为什么不直接使用lua_pushnumber()?

(请不要回答“为了将来与5.3的兼容性”,这对今天来说是一个很好的答案,但是这个答案不能满足我的风格:过去不期望整数支持.我想知道理由lua_pushinteger()首先被引入,事后看来并不道歉.)

为了文档,性能和正确性,引入了API中整数的显式处理.

在API内部明确地集中处理整数允许核心使用与浮点数的最佳转换;在某些平台上,如果做得天真,这可能会很昂贵.它还允许核心检查溢出,但Lua 5.1和5.2没有检查这一点.

网友评论