Есть предопределенная (в 1.9.2) константа Float::INFINITY
, поэтому вы можете написать
1.upto(Float::INFINITY) do |i|
...
end
(Вы также можете использовать Enumerator
и take_while
, выворачивая проблему наизнанку, чтобыэто больше похоже на Haskell или Python, но take_while
является жадным и создает массив.)