Ruby Language Définir les opérations sur les hachages


Exemple

  • Intersection des Hashs

    Pour obtenir l'intersection de deux hachages, retournez les clés partagées dont les valeurs sont égales:

    hash1 = { :a => 1, :b => 2 }
    hash2 = { :b => 2, :c => 3 }
    hash1.select { |k, v| (hash2.include?(k) && hash2[k] == v) } # => { :b => 2 }
    
  • Union des fusions:

    les clés d'un hachage sont uniques, si une clé apparaît dans les deux hachages à fusionner, celle du hachage sur lequel la merge est appelée est écrasée:

    hash1 = { :a => 1, :b => 2 }
    hash2 = { :b => 4, :c => 3 }
    
    hash1.merge(hash2) # => { :a => 1, :b => 4, :c => 3 }
    hash2.merge(hash1) # => { :b => 2, :c => 3, :a => 1 }