我想比较并找出两个嵌套散列与数组中的多个哈希数组之间的区别。在红宝石中比较哈希阵列
这个比较最好的方法是什么?它似乎没有图书馆或功能,可以帮助与此..
例如,我想以下两个例子散列a和散列b被认为是相等的。
pry(main)> a
#⇒ {"197315"=>{:qty=>1,
# :modifiers=>[{"197323-197319"=>{:qty=>1}},
# {"197322-197321"=>{:qty=>1}}]}}
pry(main)> b
#⇒ {"197315"=>{:qty=>1,
# :modifiers=>[{"197322-197321"=>{:qty=>1}},
# {"197323-197319"=>{:qty=>1}}]}}
pry(main)> a == b
#⇒ false
pry(main)> a
#⇒ {"197315"=>{:qty=>1,
# :modifiers=>[{"197322-197321"=>{
# :qty=>1,
# :modifiers=>['2222'=>'33333', '4444'=>'55555']}},
# {"197323-197319"=>{:qty=>1}}]}}
pry(main)> b
#⇒ {"197315"=>{:qty=>1,
# :modifiers=>[{"197322-197321"=>{
# :qty=>1,
# :modifiers=>['4444'=>'55555', '2222'=>'33333']}},
# {"197323-197319"=>{:qty=>1}}]}}
pry(main)> a == b
#⇒ false
change':modifiers => []'to':modifiers => set'? – halfelf
在第二个例子中,'[''2222'=>'33333','4444'=>'55555'] => [{“2222”=>“33333”,“4444”=>“55555”}] '。我不知道你是否打算用这种方式写出散列或者忘记大括号,但是无论哪种方式当然都可以。 –
你的问题不清楚。你想找出差异还是忽略这些差异? – Stefan