2つのハッシュのキーを比較する
ハッシュのキーはHash#keys
で配列として取り出すことができる。これを利用すれば、2つのハッシュのキーを比較して、両方に存在するキー、一方にしかないキーを抽出できる。
両方にあるキーを抽出するには以下。
h1 = {:hoge => true, :piyo => true} h2 = {:piyo => true, :fuga => true} p h1.keys & h2.keys #=> [:piyo]
一方にしか無いキーを抽出するには以下。
h1 = {:hoge => true, :piyo => true} h2 = {:piyo => true, :fuga => true} p (h1.keys | h2.keys) - (h1.keys & h2.keys) #=> [:hoge, :fuga]