鉴于我有一个哈希数组abc
和一个哈希ghi
:
abc = [{ 'a' => '1', 'b' => '2', 'c' => '3', 'd' => '4' }] ghi = { 'a' => '1', 'b' => '2' }
选择散列的最干净,最有效的方法是什么?abc
包含所有键值对ghi
?
我能够做到这一点:
abc.map {|n| n.slice(*ghi.keys) == ghi }.all?
虽然它看起来不是很干净.
在Ruby 2.3中.
abc.select{|h| h >= ghi}
注意:在OP提到Ruby版本之前已经回答了这个问题.
Ruby的早期版本:
abc.select{|h| h.merge(ghi) == h}