如何在Ruby中表达无穷大?

Amo*_*tir 128 ruby infinity

是否有一个关键字来表达Ruby中的Infinity?

Mat*_*att 181

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

>> Float::INFINITY #=> Infinity
>> 3 < Float::INFINITY #=> true
Run Code Online (Sandbox Code Playgroud)

或者你可以使用以下*创建自己的常量:
我已经在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
Run Code Online (Sandbox Code Playgroud)

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

  • 对.我尝试在任何整数和该值之间进行比较,它似乎工作正常.我现在只是想知道这是否安全! (2认同)

Mic*_*ohl 97

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

>> Float::INFINITY #=> Infinity
>> 3 < Float::INFINITY #=> true
Run Code Online (Sandbox Code Playgroud)


dav*_*gsu 6

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)>
Run Code Online (Sandbox Code Playgroud)