补码是我正在寻找的数学术语,但对于上下文和可能更有针对性的解决方案:我有哈希 A,它可以有嵌套的哈希(即它们是 N 维的),我对其应用了一个过程(对此我无法控制)它返回哈希 B,这是删除了一些元素的哈希 A。从那里开始,我试图找到 A 中已在 B 中删除的元素。
例如:(请注意,为了简单起见,我使用符号。键将始终是符号,但值不会。)
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}}
这样做的最佳(红宝石式)方法是什么?