【发布时间】:2016-04-09 16:04:46
【问题描述】:
h = {
users: {
u_548912: {
name: "John",
age: 30
},
u_598715: {
name: "Doe",
age: 30
}
}
}
给定一个像上面这样的哈希,假设我想得到用户 John,我可以做到
h[:users].values.first[:name] # => "John"
在 Ruby 2.3 中使用 Hash#dig 可以做同样的事情:
h.dig(:users, :u_548912, :name) # => "John"
但鉴于u_548912 只是一个随机数(无法事先知道),有没有办法仍然使用Hash#dig 来获取信息?
【问题讨论】:
-
有没有办法计算这个数字?
-
在使用
Hash#dig时,您几乎必须事先知道密钥。