Для веб-программирования цифры входят в строки. но to_i
преобразует "5abc"
в 5
и "abc"
в 0
, как неправильные ответы. Чтобы поймать их, я написал:
def number_or_nil( s )
number = s.to_i
number = nil if (number.to_s != s)
return number
end
Есть ли более аккуратный, более Ruby-естественный способ выполнения этого преобразования и обнаружения того, что строка не была указана как число?