Desidero rimuovere gli elementi duplicati all'interno di un oggetto Array
. È meglio spiegare con un esempio.Come posso rimuovere più elegantemente elementi duplicati su tutti gli elementi di una matrice di rubini?
Ho il seguente Array
entries = ["a b c", "a b", "c", "c d"]
Voglio un metodo che pulirà questo da rimuovere gli elementi duplicati da all'interno di elementi in Array
e restituire un Array
che ha un elemento per ogni pezzo unico.
Quindi, ecco il metodo che ho scritto per fare questo:
class Array
def clean_up()
self.join(" ").split(" ").uniq
end
end
Così ora quando chiamo entries.clean_up
ricevo il seguente come risultato:
["a", "b", "c", "d"]
Questo è esattamente il risultato che vuoi ma c'è un modo più elegante per farlo in Ruby?
Vorrei scorrere su ogni elemento dividendoli per creare una vasta gamma di termini e quindi unificarlo. – Sukima
Vuoi eleganza o prestazioni? Non puoi sempre avere entrambi. –
Entrambe sarebbero belle :) ma alla fine ho aggiustato il testo per concentrarmi su una soluzione più elegante se ne esiste una. –