ruby 的新手,我正在尝试创建一个哈希数组(或者我把它倒过来了吗?)
def collection
hash = { "firstname" => "Mark", "lastname" => "Martin", "age" => "24", "gender" => "M" }
array = []
array.push(hash)
@collection = array[0][:firstname]
end
@collection 不显示位置 0 中对象的名字...我做错了什么?
提前致谢!
最佳答案
您正在使用 Symbol
作为 Hash
对象的索引,该对象使用 String
对象作为键,所以只需这样做:
@collection = array[0]["firstname"]
我鼓励您使用 Symbol
作为 Hash
键而不是 String
因为 Symbol
是缓存,因此效率更高,所以这将是一个更好的解决方案:
def collection
hash = { :firstname => "Mark", :lastname => "Martin", :age => 24, :gender => "M" }
array = []
array.push(hash)
@collection = array[0][:firstname]
end
关于ruby - 如何在 Ruby 中创建哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4826129/