雜湊鍵 - 值對的集合,類似這樣:"employee" => "salary"。它類似於數組,除了索引是通過任意鍵的任何對象的類型,而不是一個整數索引。
順序遍曆一個雜湊鍵或值要麼可能看起來是任意的,一般不會在插入順序。如果訪問的鍵的雜湊值不存在,該方法將返回nil。
建立雜湊:
使用數組中,有各種各樣的方法來建立雜湊值。可以 new 類方法建立一個空的hash :
還可以使用 new 建立雜湊,這是一個預設值,否則只是 nil:
複製代碼 代碼如下:
months = Hash.new( "month" )
or
months = Hash.new "month"
當訪問任何在雜湊鍵,有一個預設值,如果鍵或值不存在,訪問雜湊表將返回預設值:
#!/usr/bin/rubymonths = Hash.new( "month" )puts "#{months[0]}"puts "#{months[72]}"
這將產生以下結果:
monthmonth#!/usr/bin/rubyH = Hash["a" => 100, "b" => 200]puts "#{H['a']}"puts "#{H['b']}"
這將產生以下結果:
可以使用任何Ruby對象作為鍵或值,甚至數組,那麼下面的例子是一個有效
雜湊內建的方法:
我們需要有一個Hash對象執行個體調用雜湊方法。正如我們所看到的,下面是Hash對象的方式來建立一個執行個體:
Hash[[key =>|, value]* ] orHash.new [or] Hash.new(obj) [or]Hash.new { |hash, key| block }
這將返回一個新的雜湊值具有給定的對象填充。現在使用建立的對象,我們可以調用任何可用執行個體方法。例如:
#!/usr/bin/ruby$, = ", "months = Hash.new( "month" )months = {"1" => "January", "2" => "February"}keys = months.keysputs "#{keys}"
這將產生以下結果: