哈希鍵 - 值對的集合,類似這樣:"employee" => "salary"。它類似于數組,除了索引是通過任意鍵的任何對象的類型,而不是一個整數索引。
順序遍歷一個哈希鍵或值要么可能看起來是任意的,一般不會在插入順序。如果訪問的鍵的哈希值不存在,該方法將返回nil。
創建哈希:
使用數組中,有各種各樣的方法來創建哈希值。可以 new 類方法創建一個空的hash :
months = Hash.new
還可以使用 new 創建哈希,這是一個默認值,否則只是 nil:
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']}"
這將產生以下結果:
100200
可以使用任何Ruby對象作為鍵或值,甚至數組,那么下面的例子是一個有效的
[1,"jan"] => "January"
哈希內置的方法:
我們需要有一個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}"
這將產生以下結果:
2, 1
新聞熱點
疑難解答
圖片精選