Ruby 哈希(Hash)
哈希(Hash)是类似 "key" => "value" 这样的键值对集合。哈希类似于一个数组,只不过它的索引不局限于使用数字。
Hash 的索引(或者叫"键")几乎可以是任何对象。
Hash 虽然和数组类似,但却有一个很重要的区别:Hash 的元素没有特定的顺序。 如果顺序很重要的话就要使用数组。
创建哈希
与数组一样,有各种不同的方式来创建哈希。
可以通过 new 类方法创建一个空的哈希:months = Hash.new
也可以使用 new 创建带有默认值的哈希,不带默认值的哈希是 nil:
months = Hash.new( "month" )
或 months = Hash.new "month"
可以使用任何的 Ruby 对象作为键或值,甚至可以使用数组
[1,"jan"] => "January"
show_my_hash() # 显示一个 hash,包含的内容为: { "key1" => "one", "luleluelue" => ">_<" }此种方法不常用 H = Hash[ "key1" => "one", "luleluelue" => ">_<" ] puts "#{H['key1']}" puts "#{H['luleluelue']}"
show_my_hash("lueluelue") # 加上参数,并且该参数为 对应的key的时候, 那么会返回 对应的valuemy_hash = {“key1” =>”one”,”lueluelue” => “>_<”} puts my_hash[“key1”]
实现多维的hash
my_multiple_hash()
返回:
{
"key1" => "one",
"key2" => {
{
"child_key1" => "child value1",
"child_key2" => "child value2"
}
}
}