Ich habe eine Funktion zur Gruppierung von Anagrammen implementiert. Kurz gesagt:
Eingabe: ['Autos', 'für', 'Kartoffeln', 'racs', 'vier', 'Narbe', 'Cremes', Schrei ']
Ausgabe: [["Autos", "racs", "Narbe"], ["vier"], ["für"], ["Kartoffeln"], ["Cremes", "Schrei"]]
Ich würde gerne wissen, ob es einen besseren Weg gibt, dies zu tun.
Ich glaube wirklich, dass ich zu viele Wiederholungsaussagen verwendet habe: until
, select
,
%Code%.
Gibt es eine Möglichkeit, die delete_if
und select
Anweisung zu kombinieren? Das
bedeutet, können ausgewählte Elemente automatisch gelöscht werden?
Code:
%Vor%Vielen Dank im Voraus,
So:
%Vor%Ausgabe ist:
%Vor%Wenn Sie möchten, können Sie diesen One-Liner natürlich zu einer Methode machen.
Sie können die Funktion partition
anstelle von select verwenden, die in Enumerable implementiert ist . Es teilt die Einträge innerhalb des Arrays gemäß der Entscheidungsfunktion in zwei Arrays auf.
(ungetestet)
Tags und Links ruby ruby-on-rails anagram