Wie wird mit dem vorherigen Element in 'jedem' Iterator verglichen?

7

update : Entschuldigung, ich habe mein Programm repariert:

%Vor%

Gibt es in ruby language eine weitere schöne Möglichkeit, dasselbe zu tun?

übrigens. a ist ein ActiveRecord::Relation in meinem wahren Fall.

Danke.

    
hey mike 01.03.2012, 13:32
quelle

5 Antworten

16

Das Problem, das Sie möglicherweise mit each_cons haben, ist, dass es durch n-1 -Paare iteriert (wenn die Länge der Enumerable n ist). In einigen Fällen bedeutet dies, dass Sie Randfälle für das erste (oder letzte) Element separat behandeln müssen.

In diesem Fall ist es sehr einfach, eine ähnliche Methode zu implementieren each_cons , aber was (nil, elem0) für das erste Element ergibt (im Gegensatz zu each_cons , was (elem0, elem1) ergibt:

) %Vor%     
Mladen Jablanović 01.03.2012, 17:03
quelle
12

Sie können each_cons verwenden:

%Vor%     
Vasiliy Ermolovich 01.03.2012 13:40
quelle
5

Sie können each_cons

verwenden %Vor%     
megas 01.03.2012 13:44
quelle
3

Sie können Enumerable # each_cons verwenden:

%Vor%     
ZelluX 01.03.2012 13:44
quelle
1

Da Sie wahrscheinlich mehr als puts mit den Duplikaten machen wollen, würde ich die Duplikate lieber in einer Struktur behalten:

%Vor%

Mehr zu: Ссылка (coole Antwort von David A. Black)

    
ribamar 13.07.2016 10:48
quelle

Tags und Links