How to express infinity in Ruby?

后端 未结 3 1947
囚心锁ツ
囚心锁ツ 2020-12-08 18:09

Is there a keyword to express Infinity in Ruby?

相关标签:
3条回答
  • 2020-12-08 18:26

    If you use ruby 1.9.2, you can use:

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

    Or you can create your own constant using the following*:
    I've checked that in Ruby 1.8.6, 1.8.7, and 1.9.2 you have Float.infinite?.

    PositiveInfinity = +1.0/0.0 
    => Infinity
    
    NegativeInfinity = -1.0/0.0 
    => -Infinity
    
    CompleteInfinity = NegativeInfinity..PositiveInfinity
    => -Infinity..Infinity
    

    *I've verified this in Ruby 1.8.6 and 1.9.2

    0 讨论(0)
  • 2020-12-08 18:28

    No keyword, but 1.9.2 has a constant for this:

    >> Float::INFINITY #=> Infinity
    >> 3 < Float::INFINITY #=> true
    
    0 讨论(0)
  • 2020-12-08 18:31

    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)>
    
    0 讨论(0)
提交回复
热议问题