Для веб-программирования цифры входят в строки. но 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-естественный способ выполнения этого преобразования и обнаружения того, что строка не была указана как число?