gpt4 book ai didi

lua - 为什么我们应该使用 lua_pushinteger()?

转载 作者:行者123 更新时间:2023-12-02 07:53:44 24 4
gpt4 key购买 nike

当前版本的Lua不支持整数,仅支持 float 。 (随着即将到来的 5.3,这种情况正在改变,但我们忽略这一点。)

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

(请不要回答“为了将来与 5.3 的兼容性”,这对今天来说是一个很好的答案,但这个答案不能满足我的好奇心:不期望整数支持过去。我想知道 lua_pushinteger() 最初被引入的原因,事后看来并不抱歉。)

最佳答案

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

在 API 内显式地集中处理整数可以让核心使用与 float 之间的最佳转换;在某些平台上,如果不小心这样做的话,成本可能会很高。它还允许核心检查溢出,尽管 Lua 5.1 和 5.2 没有检查这一点。

关于lua - 为什么我们应该使用 lua_pushinteger()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24184614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com