Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Ruby] группировка в двумерном массиве


Автор: kolya17 5.1.2010, 18:15
День добрый.

Имеется двумерный массив farr
Код

farr.each{  |i|  print i}

вывод
Код

["200912-829", 9]
["200912-893", 3]
["200912-893", 5]
["200912-829", 1]
["200911-818", 6]
["200911-893", 1]
["200911-827", 2]

задача: получить двумерный массив, в котором в первом "столбце" будут только уникальные значения (из первого "столбца" farr), а во втором "столбце" сумма значений из farr где значения первых столбцов одинаковы.

на sql это бы выглядело так
Код

select строка, sum(число)
from farr
group by строка

т.е. в результате, из примера, должен получится массив
Код

["200912-829", 10]
["200912-893", 8]
["200911-818", 6]
["200911-893", 1]
["200911-827", 2]

мозг уже сломал с этими find_all и inject  smile 

Автор: kolya17 6.1.2010, 13:16
задача решена, всем спасибо.
тема закрыта.

решение здесь
http://www.ruby-forum.com/topic/201633

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)