105 votes

Ajouter un élément à un tableau s'il ne s'y trouve pas déjà

J'ai une classe Ruby

class MyClass
  attr_writer :item1, :item2
end

my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []

Je veux pousser MyClass#item1 a unique_array_of_item1 mais seulement si unique_array_of_item1 ne contient pas ce item1 encore. Il y a une solution simple que je connais : il suffit d'itérer à travers my_array et vérifier si unique_array_of_item1 contient déjà l'actuel item1 ou pas.

Existe-t-il une solution plus efficace ?

0voto

witkacy26 Points 81

Je ne sais pas si c'est la solution idéale, mais ça a marché pour moi :

    host_group = Array.new if not host_group.kind_of?(Array)
    host_group.push(host)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X