我有一个变量要用作散列的键,散列包含自己的键和数组。
例如

custArray = Array.new
custArray << {"c1001" => {"purchases" => ["prod01"]}}

我想做一些事情,比如:
if custArray[:c1001].exists?
  custArray[{:c1001["purchases"]} << "prod02"]
end

但我完全被困住了。

最佳答案

可以通过以下方法解决:

if c = custArray.find { |h| h.key? 'c1001' }
  c.dig('c1001', 'purchases') << "prod2"
end

或者如果使用此密钥可以有多个结果:
custArray.select { |h| h.key? 'c1001' }.each do |c|
  c.dig('c1001', 'purchases') << "prod2"
end

关于ruby - Ruby创建哈希数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50217200/

10-13 07:16