iterierende Hash-Sammlung

7
%Vor%

Wie können Sie diesen Hash in Ruby iterieren, und wie würden Sie Keys & amp; Werte?

    
RaviShankar 16.08.2010, 13:30
quelle

2 Antworten

21

Ruby hat eine einheitliche Iterationsschnittstelle. Alle Sammlungen in Ruby haben eine Methode namens each , mit der Sie über jedes Element der Sammlung iterieren können. Beachten Sie jedoch, dass explizite Iteration ein Code-Geruch ist. Sie sollten meist übergeordnete Iteratoren wie map , reduce , select , find , reject usw. verwenden.

In diesem speziellen Fall, in dem die Sammlung ein Hash ist, ist jedes Element, das an Ihren Block geliefert wird, ein Array aus zwei Elementen, bestehend aus dem Schlüssel und dem Wert:

%Vor%

Dank Rubys Destrukturierungsbindung können Sie einfach die beiden Elemente des Arrays an zwei Variablen in Ihrem Block binden und müssen das Array nicht ständig auseinander nehmen:

%Vor%     
Jörg W Mittag 16.08.2010 13:46
quelle
14
%Vor%

Falls Sie die Arrays innerhalb Ihres Arrays in eine Map transformieren wollen, tun Sie dies:

%Vor%     
haffax 16.08.2010 13:34
quelle

Tags und Links