Wenn array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
,
Ich möchte eine Reihe von Elementen aus dem Array löschen.
Beispiel: Ich möchte alle Elemente mit einem Index im Bereich 2..5
von diesem Array löschen, das Ergebnis sollte [1, 2, 7, 8, 9]
Vielen Dank im Voraus.
Wie Stefan geschrieben hat, benutze slice!
, um Werte innerhalb eines bestimmten Bereichs im Array zu entfernen. Wenn Sie jedoch Werte in einem bestimmten Bereich entfernen möchten, verwenden Sie delete_if
.
Eine der vielen Möglichkeiten, dies zu tun, besteht darin, Array # aufzurufen. delete_if mit einem Block, der überprüft, ob jedes Element des Arrays im Bereich mit Array # enthalten? . Zum Beispiel:
%Vor%Wenn Sie versuchen, Elemente nach index und nicht nach Wert zu löschen, besteht eine Möglichkeit, das Objekt Range zu iterieren, indem Sie Array#delete_at für jeden Index im Bereich. Zum Beispiel:
%Vor%