這篇文章主要介紹了Ruby中關於hash的基本使用方法,包括哈希的創建和一些內置方法的使用,需要的朋友可以參考下
哈希鍵 - 值對的集合,類似這樣:"employee" => "salary"。它類似於數組,除了索引是通過任意鍵的任何對象的類型,而不是一個整數索引。
順序遍歷一個哈希鍵或值要麼可能看起來是任意的,一般不會在插入順序。如果訪問的鍵的哈希值不存在,該方法將返回nil。
創建哈希:
使用數組中,有各種各樣的方法來創建哈希值。可以 new 類方法創建一個空的hash :
?
1 months = Hash.new還可以使用 new 創建哈希,這是一個默認值,否則只是 nil:
復制代碼 代碼如下:
months = Hash.new( "month" )
or
months = Hash.new "month"
當訪問任何在哈希鍵,有一個默認值,如果鍵或值不存在,訪問哈希表將返回默認值:
?
1 2 3 4 5 6 #!/usr/bin/ruby months = Hash.new( "month" ) puts "#{months[0]}" puts "#{months[72]}"這將產生以下結果:
?
1 2 3 4 5 6 7 8 9 month month #!/usr/bin/ruby H = Hash["a" => 100, "b" => 200] puts "#{H['a']}" puts "#{H['b']}"這將產生以下結果:
?
1 2 100 200可以使用任何Ruby對象作為鍵或值,甚至數組,那麼下面的例子是一個有效的
?
1 [1,"jan"] => "January"哈希內置的方法:
我們需要有一個Hash對象實例調用哈希方法。正如我們所看到的,下面是Hash對象的方式來創建一個實例:
?
1 2 3 4 5 Hash[[key =>|, value]* ] or Hash.new [or] Hash.new(obj) [or] Hash.new { |hash, key| block }這將返回一個新的哈希值具有給定的對象填充。現在使用創建的對象,我們可以調用任何可用實例方法。例如:
?
1 2 3 4 5 6 7 8 9 10 #!/usr/bin/ruby $, = ", " months = Hash.new( "month" ) months = {"1" => "January", "2" => "February"} keys = months.keys puts "#{keys}"這將產生以下結果:
?
1 2, 1