ruby - 如何在 Ruby 中创建哈希数组

标签 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

@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/

相关文章:

arrays - 在 Ruby 中从数组创建固定长度的 FIFO

ruby - Python 或 Ruby 用于 Linux 上的新应用程序?

php - 关联数组不存储 SQL 的第一个结果

算法 - 在 2D 矩阵中搜索

python - 我想了解函数中定义的以下代码行

ruby - MRI Ruby 1.9.2 中的词法分析

javascript - Phantomjs 使用 ruby​​-selenium 处理 onclick 事件

javascript - 解构返回未定义

python - 连接两个大小不等的 numpy 数组并根据公共(public)列填充第三个数组

java - 在 Java 集合中缓存哈希?