From: Joel Pearson Date: 2013-05-16T08:12:28+09:00 Subject: Re: n00b looking to learn from the best I'd skip the mapping and just use inject... def lassy_sum( numbers ) numbers.each.with_index.inject(0) do |sum, (num, idx)| sum + num * idx end end Depending on what you mean by the position in the array, you might want "num * ( idx + 1 )", otherwise you'll always get 0 for the first -- Posted via http://www.ruby-forum.com/.