下面是小編給大家分享的一篇ruby.html" target="_blank">Ruby中hash的使用技巧深度解析,感興趣的朋友跟小編一起來(lái)了解一下吧!
哈希鍵 - 值對(duì)的集合,類似這樣:"employee" => "salary"。它類似于數(shù)組,除了索引是通過(guò)任意鍵的任何對(duì)象的類型,而不是一個(gè)整數(shù)索引。
順序遍歷一個(gè)哈希鍵或值要么可能看起來(lái)是任意的,一般不會(huì)在插入順序。如果訪問(wèn)的鍵的哈希值不存在,該方法將返回nil。
創(chuàng)建哈希:
使用數(shù)組中,有各種各樣的方法來(lái)創(chuàng)建哈希值。可以 new 類方法創(chuàng)建一個(gè)空的hash :
months = Hash.new
還可以使用 new 創(chuàng)建哈希,這是一個(gè)默認(rèn)值,否則只是 nil:
復(fù)制代碼 代碼如下:
months = Hash.new( "month" )
or
months = Hash.new "month"
當(dāng)訪問(wèn)任何在哈希鍵,有一個(gè)默認(rèn)值,如果鍵或值不存在,訪問(wèn)哈希表將返回默認(rèn)值:
#!/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é)果:
100
200
可以使用任何Ruby對(duì)象作為鍵或值,甚至數(shù)組,那么下面的例子是一個(gè)有效的
[1,"jan"] => "January"
哈希內(nèi)置的方法:
我們需要有一個(gè)Hash對(duì)象實(shí)例調(diào)用哈希方法。正如我們所看到的,下面是Hash對(duì)象的方式來(lái)創(chuàng)建一個(gè)實(shí)例:
Hash[[key =>|, value]* ] or
Hash.new [or] Hash.new(obj) [or]
Hash.new { |hash, key| block }
這將返回一個(gè)新的哈希值具有給定的對(duì)象填充。現(xiàn)在使用創(chuàng)建的對(duì)象,我們可以調(diào)用任何可用實(shí)例方法。例如:
#!/usr/bin/ruby
$, = ", "
months = Hash.new( "month" )
months = {"1" => "January", "2" => "February"}
keys = months.keys
puts "#{keys}"
這將產(chǎn)生以下結(jié)果:
2, 1
以上就是Ruby中hash的使用技巧深度解析,想必都了解了吧,更多相關(guān)內(nèi)容請(qǐng)繼續(xù)關(guān)注武林技術(shù)頻道。
新聞熱點(diǎn)
疑難解答
圖片精選