新的
ruby,我正在尝试创建一个数组的哈希(或者我有它后面吗?)
def collection hash = { "firstname" => "Mark","lastname" => "Martin","age" => "24","gender" => "M" } array = [] array.push(hash) @collection = array[0][:firstname] end
@collection不显示位置0的对象的第一个名称…我做错了什么?
提前致谢!
解决方法
您正在使用Symbol作为使用String对象作为键的Hash对象的索引,因此只需执行以下操作:
@collection = array[0]["firstname"]
我建议您使用符号作为哈希键而不是字符串,因为符号被缓存,因此更有效率,所以这将是一个更好的解决方案:
def collection hash = { :firstname => "Mark",:lastname => "Martin",:age => 24,:gender => "M" } array = [] array.push(hash) @collection = array[0][:firstname] end