2017-10-24 4 views
-2

Ich versuche, eine Reihe von Hashes zu teilen. Alle Hashes haben die gleichen Schlüssel. Das erwartete Ergebnis wäre etwas, das wie folgt aussieht:Wie Array von Hashes aufgeteilt

1 = [{"tid" => nil}, {"tid" => nil}, {"tid" => true}] 
2 = [{"tid" => nil}, {"tid" => true}] 
3 = [{"tid" => nil}, {"tid" => nil}, {"tid" => nil}, {"tid" => true}] 

Ich versuche, diesen Code zum Laufen zu bringen:

buyer_ids = specific_buyer.slice_after{ |obj| obj["tid"] != nil} 
# => #<Enumerator: #<Enumerator::Generator:0x007ffe9ea2f5b8>:each> 

ich keine Ahnung, was das Ergebnis bedeutet.

+2

Rufen Sie einfach '.to_a' auf' buyer_ids' –

Antwort

2

Es ist korrekt. Fügen Sie einfach einen to_a oder ein Verfahren auf der resultierende Sammlung aufrufen, um zu überprüfen, dass

buyer_ids.slice_after { |obj| obj["tid"] != nil }.to_a 
buyer_ids.slice_after { |obj| obj["tid"] != nil }.each { |item| puts item }