Ruby remoção de duplicatas em enumerável listas
-
21-09-2019 - |
Pergunta
Existe uma maneira boa em ruby para remover arquivos duplicados em enumerável listas (por exemplo,rejeitar, etc.)
Solução
Para a matriz você pode usar uniq() método
a = [ "a", "a", "b", "b", "c" ]
a.uniq #=> ["a", "b", "c"]
portanto, se você apenas
(1..10).to_a.uniq
ou
%w{ant bat cat ant}.to_a.uniq
porque mesmo assim quase todos os métodos que implementam irá retornar como uma classe Array.
Outras dicas
Bem, a estratégia seria convertê-los para matrizes e remover os duplicados de matrizes.Pelo caminho listas são arrays em ruby, em qualquer caso, então eu não tenho certeza do que você quer dizer com "imensas listas"
Você pode fazer uma conversão para um Conjunto de, se o elemento de ordem não é importante.
Eu gosto usando o conjunto de operadores lógicos, se o objeto não tiver um .uniq método.
a = [2,3,3,5,5,5,6] # => [2, 3, 3, 5, 5, 5, 6]
a | a # => [2, 3, 5, 6]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow