die erste Projekt Euler Frage zu tun: die Vielfachen von 3 und 5 zwischen 1 und 1000 Summieren, kam ich mit diesem nach oben (sehr einfach)Rubin injizieren mit bedingten in Block?
sum = 0
1.upto(999) { |i| sum += i if 0 == i%3 || 0 == i%5 }
sum
aber ich dachte, dies funktionieren würde, aber es funktioniert nicht, kann jemand zeigt mir, was ich falsch mache, oder warum es nicht funktioniert?
1.upto(999).inject(0) { |sum, i| sum + i if 0 == i%3 || 0 == i%5 }
danke!
danke für die Antwort alt. Dies ist näher an meiner ursprünglichen Einstellung und so würde ich es wahrscheinlich (lesbarer für mich) tun, ich akzeptierte die erste Antwort wegen der Erklärung des Fehlers - der 'Aha!' Moment zu mir geholfen – Tonys