使用多个值ruby访问哈希

Gur*_*ngh 1 ruby

我有一个哈希

h = Hash.new{|hsh,key| hsh[key] = [] }
Run Code Online (Sandbox Code Playgroud)

它的值存储为数组

Iv添加到键的值数组,如下所示:

h[@name] << @age
h[@name] << @grade
Run Code Online (Sandbox Code Playgroud)

我试图访问这样的年龄

puts h[:@name][0]
Run Code Online (Sandbox Code Playgroud)

但它不起作用?

有没有更好的方法呢?

什么即时试图做的是创建一个哈希那里是具有价值负荷的关键:比如key=>name和值相等age,address,gender

mai*_*her 5

恕我直言你的想法是好的.唯一的错误是..你如何访问哈希.:@签名之前无需添加额外的冒号.

删除冒号,它应该按预期工作:

puts h[@name][0]
Run Code Online (Sandbox Code Playgroud)