В more ruby way of doing project euler #2, часть кодали что-то бесконечно много раз с индексом
while((v = fib(i)) < 4_000_000)
s+=v if v%2==0
i+=1
end
Есть ли способ изменить i += 1
в более функциональный стиль программирования построить?
Лучшее, что я могу думать о
Float::MAX.to_i.times do |i|
v = fib(i)
break unless v < 4_000_000
s += v if v%2==0
end
, потому что вы не можете вызвать .times
на число с плавающей точкой.
Что 'Float' должен сделать с ним в первую очередь? Это целые числа. –
http://stackoverflow.com/questions/6373343/math-infinity-in-ruby-how-do-i-iterate-over-an-infinite-sequence –
@DanielFischer: Потому что я не могу найти целочисленный эквивалент FLOAT :: MAX. –