Vérifier si deux ensembles ont le même contenu (dans n'importe quel ordre)

Je suis en utilisant Ruby 1.8.6 avec des Rails 1.2.3, et la nécessité de déterminer si deux matrices ont les mêmes éléments, indépendamment de si oui ou non ils sont dans le même ordre. L'un des tableaux est la garantie de ne pas contenir de doublons (l'autre pourrait, dans ce cas la réponse est non).

Ma première pensée a été

require 'set'
a.to_set == b.to_set

mais je me demandais si il y avait une plus efficace ou idiomatiques façon de faire.

  • double possible de Ruby - N'tableau contient tous les éléments de la matrice B>
  • Essayez de tableau.devrait - = ~ another_array case stackoverflow.com/questions/2978922/...
  • Vous pourriez avoir sauvé beaucoup de confusion par: 1) indiquant si les éléments des tableaux sont nécessairement sortable; et 2) de fournir un exemple simple pour clarifier ce que vous entendez par "si deux matrices ont les mêmes éléments" (par exemple, ne [1,2] et [2,1,1] ont les mêmes éléments?)
  • Ruby 2.6 a introduit difference qui offre une solution à la fois très rapide et très lisible. Plus d'infos ici.
InformationsquelleAutor Taymon | 2012-06-06