From: Stefan Lang Date: 2008-03-08T08:07:53+09:00 Subject: Re: ActiveSupport Enumerable#sum should not use #size 2008/3/7, Drew Olson : > Stefan Lang wrote: > > inject takes the identity as first parameter: > > > > inject(identity) { |sum, element| sum + element } > > > > and since they define Symbol#to_proc, this can even be > > > > inject(identity, &:+) > > > >> end > >> end > >> > >> Look right? > >> > >> > >> T. > > > > Stefan > > > This is very concise, but doesn't have the same behavior as the original > sum. This will start any sum with the identity and then build on it from > there. Not that this is incorrect behavior, it's just different from > what was originally defined. For example: > > a = [1,2,3] > > original sum, with identity = 10, would return 6, whereas your version > would return 16. > > - Drew Hm, right. I find the name "identity" misleading in this case. Stefan