我在Lua中实现了一个简单的阶乘函数,而对于一些不是高数字,例如25,结果是不正确的。我在Mac OS 10.11.2上使用自己编译的Lua.org版本5.3.4-rc3。
let (mut newmask, mut oldmask, mut pendmask) = std::mem::uninitialized();
我可以在代码“print(fact(25))”上看到问题,并通过最后一行的断言进行检查。我用Lua版本5.2.4,5.3.3和5.3.4-rc3测试了代码,我遇到了同样的问题。在版本5.3.2上,问题不会发生,但是与此版本的数字/字符串转换有关的另一个问题。在这个版本中,我还测试了值25!,35!,100!没有任何问题。