In more ruby way of doing project euler #2, parte del codice v'èFare qualcosa di infinitamente più volte con un indice
while((v = fib(i)) < 4_000_000)
s+=v if v%2==0
i+=1
end
è un modo per cambiare i += 1
in uno stile di programmazione più funzionale costruire?
Il meglio che posso pensare è
Float::MAX.to_i.times do |i|
v = fib(i)
break unless v < 4_000_000
s += v if v%2==0
end
perché non si può chiamare .times
su un numero in virgola mobile.
Cosa c'è di 'Float' ha a che fare con essa, in primo luogo? Sono tutti numeri interi. –
http://stackoverflow.com/questions/6373343/math-infinity-in-ruby-how-do-i-iterate-over-an-infinite-sequence –
@DanielFischer: Perché non riesco a trovare un equivalente intero di FLOAT :: MAX. –