the*_*eld 22 ruby arrays hash push
ruby的新手,我正在尝试创建一个哈希数组(或者我是否向后?)
def collection
hash = { "firstname" => "Mark", "lastname" => "Martin", "age" => "24", "gender" => "M" }
array = []
array.push(hash)
@collection = array[0][:firstname]
end
Run Code Online (Sandbox Code Playgroud)
@collection没有显示位置0中对象的名字...我做错了什么?
提前致谢!
Jac*_*kin 48
您使用a Symbol作为Hash使用String对象作为键的对象的索引,因此只需执行以下操作:
@collection = array[0]["firstname"]
Run Code Online (Sandbox Code Playgroud)
我鼓励你使用Symbols作为Hash键而不是Strings,因为Symbols被缓存,因此效率更高,所以这将是一个更好的解决方案:
def collection
hash = { :firstname => "Mark", :lastname => "Martin", :age => 24, :gender => "M" }
array = []
array.push(hash)
@collection = array[0][:firstname]
end
Run Code Online (Sandbox Code Playgroud)