[英]How use hash except with array values ? Or how create hash line?
尝试使用Hash,除了代码中的许多值
H1 =哈希[:state => 1,代码=> 2]
H2 = Hash [:state => 10,code => 20]
这项工作:
H1.except(:state, :code)
哈希 - > H1不包含值。 好
但是波纹管不起作用
H1.expect(H2.keys)
哈希 - > H1将包含值。 不
问题是因为ruby将order.keys与BRACKET放在一起。 我试图从数组生成但也无法工作
你正在做什么相当于调用H1.except([:state, :code])
。
如果H1.except(:state, :code)
工作,只需取消对数组的取消:
H1.except(*H2.keys)
您可以使用lambda在单行中执行此操作:
h1 = {:state => 1, :code => 2, :foo => 3, :bar => 4}
h2 = {:state =>10, :code => 20}
h1.select {|k,v| !h2.keys.include?(k)}
产量
{:foo=>3, :bar=>4}
您可以做的解决方法是:
H2.keys.each do |key|
H1.except(key)
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.