2011-04-25 18 views

Respuesta

157

Si utiliza ruby ​​1.9.2, puede utilizar:

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

O puede crear su propia constante utilizando la siguiente *:
He comprobado que en Ruby 1.8.6, 1.8.7 y 1.9.2 tiene Float.infinite?.

PositiveInfinity = +1.0/0.0 
=> Infinity 

NegativeInfinity = -1.0/0.0 
=> -Infinity 

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

* He verificado esto en Ruby 1.8.6 y 1.9.2

+2

Derecha. Intenté hacer comparaciones entre cualquier número entero y ese valor, y parece estar funcionando bien. ¡Me pregunto ahora si esto es seguro! –

+1

Aquí hay un buen artículo que describe las propiedades de Infinity en Ruby (incluido Infinity derivado dividiendo por 0): http://nithinbekal.com/posts/ruby-infinity/ - debería darle una idea de si es seguro o no. (Por lo que vale, en mi humilde opinión, jugar con los valores numéricos de Infinity prácticamente nunca es seguro o realmente necesario independientemente del lenguaje de programación que estés usando, a menos que estés haciendo un trabajo matemático real) –

93

Sin palabras clave, pero 1.9.2 tiene una constante para esto:

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

+1, no me di cuenta esto fue en 1.9.2. He actualizado mi respuesta dirigiendo a las personas a su respuesta si esa es la versión a la que apuntan. – Matt