Ich habe ein Array von Hashes wie folgt aus:Summarize ein Array von Hashes mit einem Kreuztabellen- (auch eine 'Drehtisch' genannt)
my_array_of_hashes = [
{ :customer=>"Matthew",
:fruit=>"Apples",
:quantity=>2,
:order_month => "January"
},
{ :customer => "Philip",
:fruit => "Oranges",
:quantity => 3,
:order_month => "July"
},
{ :customer => "Matthew",
:fruit => "Oranges",
:quantity => 1,
:order_month => "March"
},
{ :customer => "Charles",
:fruit => "Pears",
:quantity => 3,
:order_month => "January"
},
{ :customer => "Philip",
:fruit => "Apples",
:quantity => 2,
:order_month => "April"
},
{ :customer => "Philip",
:fruit => "Oranges",
:quantity => 1,
:order_month => "July"
}
]
die Ich mag würde in einem Format row-column
zusammenzufassen. Unter Verwendung meiner Beispieldaten würde dies das Summieren der Werte :quantity
bedeuten, mit einer Zeile pro einmaligem Kunden, einer Spalte pro einmaligem Obst.
-----------------------------------
Customer | Apples | Oranges | Pears
Charles | | | 3
Matthew | 2 | 1 |
Philip | 2 | 4 |
-----------------------------------
Das fühlt sich an wie etwas auflösbar Ruby enumerables
aber ich kann nicht sehen, wie.
Haben Sie etwas versuchen? –
Es lohnt sich, [terminal-table gem] (https://github.com/tj/terminal-table) zu betrachten, was sicherlich dazu beitragen könnte, die Tabelle mit einer Ausgabe zu erstellen. – DiodonHystrix