Project Euler Problem 2
module Enumerable def sum inject(0) {|a, n| a + n } end end def fibs(upper) n1, n2, fibs = 0, 1, [] while n2 < upper n1, n2 = n2, n1 + n2 fibs << n2 end fibs end def f(upper) fibs(upper).select {|n| (n % 2).zero? }.sum end p f(4_000_000)