補数は、私が探しているものの数学用語ですが、文脈とおそらくより的を絞った解決策のためです: ネストされたハッシュを持つことができるハッシュ A があり (つまり、それらは N 次元です)、それにプロセスを適用します(私は制御できません)ハッシュBを返します。これは、いくつかの要素が削除されたハッシュAです。そこから、B で削除された A の要素を見つけようとしています。
例:(簡単にするために記号を使用していることに注意してください。キーは常に記号ですが、値はそうではありません。)
a = {:a => :b,
:c => {:d => :e, :f => :g},
:h => :i,
:j => {:k => :l, :m => :n},
:o => {:p => :q, :r => :s},
:t => :u}
b = {:h => :i,
:j => {:k => :l, :m => :n},
:o => {:r => :s},
:t => :u}
complement(a,b)
#=> {:a => :b,
# :c => {:d => :e, :f => :g},
# :o => {:p => :q}}
これを行うための最良の(ルビー風の)方法は何ですか?