Estoy tratando de decidir si una cadena es un número en Ruby. Este es mi códigoConversiones de tipo en Ruby: ¿la forma "correcta"?
whatAmI = "32.3a22"
puts "This is always false " + String(whatAmI.is_a?(Fixnum));
isNum = false;
begin
Float(whatAmI)
isNum = true;
rescue Exception => e
puts "What does Ruby say? " + e
isNum = false;
end
puts isNum
Soy consciente de que puedo hacerlo con una expresión regular, pero ¿hay alguna forma estándar de hacerlo que me falta? He visto un can_convert? método, pero parece que no lo tengo.
¿Hay alguna manera de agregar un can_convert? método para todas las cadenas? Entiendo que es posible en Ruby. También entiendo que esto puede ser totalmente innecesario ...
Editar Los métodos to_f no funcionan, ya que nunca arrojan una excepción sino que simplemente devuelven 0 si no funciona.
¡agradable! eso es lo que necesitaba. –