145

在 Ruby 中是否有表达 Infinity 的关键字?

4

3 回答 3

203

如果你使用 ruby​​ 1.9.2,你可以使用

>> Float::INFINITY #=> Infinity
>> 3 < Float::INFINITY #=> true

或者您可以使用以下* 创建您自己的常量:
我检查过在 Ruby 1.8.6、1.8.7 和 1.9.2 中您有Float.infinite?.

PositiveInfinity = +1.0/0.0 
=> Infinity

NegativeInfinity = -1.0/0.0 
=> -Infinity

CompleteInfinity = NegativeInfinity..PositiveInfinity
=> -Infinity..Infinity

*我已经在 Ruby 1.8.6 和 1.9.2 中验证了这一点

于 2011-04-25T12:31:11.527 回答
102

没有关键字,但 1.9.2 有一个常量:

>> Float::INFINITY #=> Infinity
>> 3 < Float::INFINITY #=> true
于 2011-04-25T12:54:35.490 回答
8

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/bigdecimal/rdoc/BigDecimal.html#label-Infinity

1.9.3p429 :025 > BigDecimal('Infinity')
 => #<BigDecimal:7f8a6c548140,'Infinity',9(9)>
1.9.3p429 :026 > BigDecimal('-Infinity')
 => #<BigDecimal:7f8a6a0e3728,'-Infinity',9(9)>
1.9.3p429 :027 > 3 < BigDecimal('Infinity')
 => true

1.9.3p429 :028 > BigDecimal::INFINITY
 => #<BigDecimal:7f8a6ad046d8,'Infinity',9(9)>
于 2013-07-25T16:49:27.713 回答