Ruby哈希

哈希(Hash)是类似 “key” => “value” 这样的键值对集合。哈希类似于一个数组,只不过它的索引不局限于使用数字。Hash 的索引(或者叫 “键”)几乎可以是任何对象。

Hash 虽然和数组类似,但却有一个很重要的区别:Hash 的元素没有特定的顺序。 如果顺序很重要的话就要使用数组了。

创建哈希

与数组一样,有各种不同的方式来创建哈希。您可以通过 new 类方法创建一个空的哈希:

months = Hash.new

您也可以使用 new 创建带有默认值的哈希,不带默认值的哈希是 nil:

months = Hash.new( "month" ) 或 months = Hash.new "month"

当您访问带有默认值的哈希中的任意键时,如果键或值不存在,访问哈希将返回默认值。

案例

创建哈希

使用 New 创建哈希

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" months = Hash.new( "month" ) puts "#{months[0]}" puts "#{months[72]}"

程序运行后,控制台输出如下:

01_哈希.png

我们使用了 New 创建哈希。

访问哈希元素

访问哈希里的元素

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" H = Hash["a" => 100, "b" => 200] puts "#{H['a']}" puts "#{H['b']}"

程序运行后,控制台输出如下:

02_哈希.png

通过下标访问哈希元素。

Ruby哈希总结

哈希(Hash)是类似 “key” => “value” 这样的键值对集合。哈希类似于一个数组,只不过它的索引不局限于使用数字。Hash 的索引(或者叫 “键”)几乎可以是任何对象。