在
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.