哈希(Hash)是類似 "employee" => "salary" 這樣的鍵值對的集合。哈希的索引是通過任何對象類型的任意鍵來完成的,而不是一個整數(shù)索引,其他與數(shù)組相似。
通過鍵或值遍歷哈希的順序看起來是隨意的,且通常不是按照插入順序。如果您嘗試通過一個不存在的鍵訪問哈希,則方法會返回 nil。
創(chuàng)建哈希
與數(shù)組一樣,有各種不同的方式來創(chuàng)建哈希。您可以通過 new 類方法創(chuàng)建一個空的哈希:
您也可以使用 new 創(chuàng)建帶有默認值的哈希,不帶默認值的哈希是 nil:
months = Hash.new( "month" )
or
months = Hash.new "month"
當您訪問帶有默認值的哈希中的任意鍵時,如果鍵或值不存在,訪問哈希將返回默認值:
#!/usr/bin/ruby
months = Hash.new( "month" )
puts "#{months[0]}"
puts "#{months[72]}"
這將產(chǎn)生以下結(jié)果:
month
month
#!/usr/bin/ruby
H = Hash["a" => 100, "b" => 200]
puts "#{H['a']}"
puts "#{H['b']}"
這將產(chǎn)生以下結(jié)果:
您可以使用任何的 Ruby 對象作為鍵或值,甚至可以使用數(shù)組,所以下面的實例是一個有效的實例:
哈希內(nèi)建方法
我們需要有一個 Hash 對象的實例來調(diào)用 Hash 方法。下面是創(chuàng)建 Hash 對象實例的方式:
Hash[[key =>|, value]* ] or
Hash.new [or] Hash.new(obj) [or]
Hash.new { |hash, key| block }
這將返回一個使用給定對象進行填充的新的哈?!,F(xiàn)在,使用創(chuàng)建的對象,我們可以調(diào)用任意可用的實例方法。例如:
#!/usr/bin/ruby
$, = ", "
months = Hash.new( "month" )
months = {"1" => "January", "2" => "February"}
keys = months.keys
puts "#{keys}"
這將產(chǎn)生以下結(jié)果:
下面是公共的哈希方法(假設(shè) hash 是一個 Hash 對象):




您可能感興趣的文章:- 實例講解Ruby中的五種變量
- 使用Ruby來處理JSON的簡單教程
- 用Ruby進行CGI編程的入門指引