在Ruby中使用散列哈希

时间:2012-07-30 21:21:38

标签: ruby

我还在学习Ruby,我有一个关于哈希散列的问题。下面的哈希是我想要访问的:

reserved_instance_price = [
                              'us-east-1' => ['t1.micro' => 0.02, 'm1.small' => 0.08, 'm1.medium' => 0.160 ],
                              'us-west-1' => ['t1.micro' => 0.02, 'm1.small' => 0.08, 'm1.medium' => 0.160 ],
                              'eu-west-1' => ['t1.micro' => 0.02, 'm1.small' => 0.085, 'm1.medium' => 0.170 ]
                            ]

我的问题:这是在红宝石中实现哈希哈希的正确方法吗?以及如何访问特定值?

谢谢

1 个答案:

答案 0 :(得分:2)

[]语法适用于数组。要使用{}

构建哈希值

您的示例变为

reserved_instance_price = {
                              'us-east-1' => {'t1.micro' => 0.02, 'm1.small' => 0.08, 'm1.medium' => 0.160 }
}

要访问特定值,只需执行

reserved_instance_price['us-east-1']['t1.micro']将返回0.02

如果您希望索引是符号而不是字符串(因此没有 - 和。),您也可以使用语法

h = { useast1: {t1micro: 0.02}}

访问变为

h[:useast1][:t1micro]