首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl中有inf常量吗?

Perl中有inf常量吗?
EN

Stack Overflow用户
提问于 2012-11-30 12:13:10
回答 2查看 7.3K关注 0票数 19

我正在为算法初始化一个无穷大的列表。编写$x = 9**9**9感觉很不直观,而且我可能会在将来使用BigInt。1/0抛出一个错误。

获得inf的标准方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2012-11-30 12:29:00

可以使用特殊的字符串"inf"

代码语言:javascript
复制
perl -E'say "inf" + 1'
inf
perl -E'say 1 / "inf"'
0

等等。

其他特殊字符串包括+inf-infnan。当然,这也适用于bignumbigint语用。然而,这些语用输出等价的函数infNaN,以便您可以使用赤字。

编辑

正如@ikegami所指出的,在没有模块的情况下,似乎没有一种可移植的方法来实现真正的无限。我刚刚浏览了一下这个有趣的僧侣线,但是它并没有变得不那么让人困惑。也许最好的解决方案是从一开始就接受性能损失和use big{num,int,rat},但是在不需要的范围内使用no big{num,int,rat}

票数 19
EN

Stack Overflow用户

发布于 2012-11-30 14:25:05

我用过比格拉特来做这个。很难说-E启用了什么功能。

代码语言:javascript
复制
use bigrat;
use feature qw(say);

say inf + inf;
say 9**99 / -inf();  #Perl doesn't always like "-inf" by itself

use bigrat;已经存在很长一段时间了,所以它应该是可移植的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13645034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档