Unterscheiden Sie das erste und letzte Element in jedem?

8
%Vor%

Hier möchte ich mit dem jeweils ersten und letzten Element etwas anderes machen, wie soll ich das erreichen? Sicherlich kann ich eine Schleifenvariable i verwenden und verfolgen, ob i==0 oder [email protected] , aber ist das nicht zu dumm?

    
OneZero 16.06.2013, 15:45
quelle

3 Antworten

24

Einer der schöneren Ansätze ist:

%Vor%     
Boris Stitnicky 16.06.2013, 16:09
quelle
5

Sie können each_with_index verwenden und dann den Index verwenden, um das erste und das letzte Element zu identifizieren. Zum Beispiel:

%Vor%

Wenn Sie es vorziehen, können Sie auch die 'Mitte' des Arrays wie folgt trennen:

%Vor%

Bei beiden Methoden müssen Sie auf das gewünschte Verhalten achten, wenn nur ein oder zwei Elemente in der Liste vorhanden sind.

    
thomasfedb 16.06.2013 15:48
quelle
2

Ein ziemlich üblicher Ansatz ist der folgende (wenn es im Array keine Duplikate gibt).

%Vor%

Wenn Sie vermuten, dass das Array Duplikate enthält (oder wenn Sie diese Methode bevorzugen), nehmen Sie die ersten und letzten Elemente aus dem Array und bearbeiten Sie sie außerhalb des Blocks. Wenn Sie diese Methode verwenden, sollten Sie auch den Code, der für jede Instanz gilt, zu einer Funktion extrahieren, damit Sie sie nicht wiederholen müssen:

%Vor%     
Matt 16.06.2013 15:48
quelle

Tags und Links