繁体   English   中英

如何使用哈希除了数组值? 或者如何创建哈希线?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM