Robert Klemme wrote:
> On 01/06/2010 09:45 AM, Kolya17 Kolya17 wrote:
>> Hi!
>>
>> I have a two-dimensional array Farr.
>>
>> Farr.each{ |i| print i}
>>
>> output:
>> ["200912-829", 9]
>> ["200912-893", 3]
>> ["200912-893", 5]
>> ["200912-829", 1]
>> ["200911-818", 6]
>> ["200911-893", 1]
>> ["200911-827", 2]
>>
>> I'm trying to get another two-dimensional array, which would be the
>> grouping of the first elements.
>> In SQL it would be so:
>>
>> select String, sum(Number)
>> from Farr
>> group by String
>>
>> and the resulting array would:
>> ["200912-829", 10]
>> ["200912-893", 8]
>> ["200911-818", 6]
>> ["200911-893", 1]
>> ["200911-827", 2]
>>
>> Help please.
>> I apologize for spelling, English is not my native.
>
> There is actually Array#group_by since 1.8.7:
>
> arr.group_by {|date,val| date}.each do |date, items|
>   printf "%-20s %6d\n", date, items.inject(0) {|sum,x|sum+x}, "\n"
> end
>
Looks good, but I could not find it in the online documentation on 
ruby-doc.org? (Array,Enumerable)

regards
ralf