Ruby中關(guān)于hash的基本使用方法
哈希鍵 - 值對(duì)的集合,類(lèi)似這樣:"employee" => "salary"。它類(lèi)似于數(shù)組,除了索引是通過(guò)任意鍵的任何對(duì)象的類(lèi)型,而不是一個(gè)整數(shù)索引。
順序遍歷一個(gè)哈希鍵或值要么可能看起來(lái)是任意的,一般不會(huì)在插入順序。如果訪問(wèn)的鍵的哈希值不存在,該方法將返回nil。
創(chuàng)建哈希:
使用數(shù)組中,有各種各樣的方法來(lái)創(chuàng)建哈希值??梢?new 類(lèi)方法創(chuàng)建一個(gè)空的hash :
months = Hash.new
還可以使用 new 創(chuàng)建哈希,這是一個(gè)默認(rèn)值,否則只是 nil:
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ì)象填充?,F(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
相關(guān)文章
Ruby的XML格式數(shù)據(jù)解析庫(kù)Nokogiri的使用進(jìn)階
這篇文章主要介紹了Ruby的XML格式數(shù)據(jù)解析庫(kù)Nokogiri的使用進(jìn)階,文中對(duì)其從HTML/XML中抓取字段還有特別是命名空間的用法進(jìn)行了深入講解,需要的朋友可以參考下2016-04-04
深入剖析Ruby設(shè)計(jì)模式編程中對(duì)命令模式的相關(guān)使用
這篇文章主要介紹了Ruby設(shè)計(jì)模式編程中對(duì)命令模式的相關(guān)使用,文中還講到了關(guān)于觀察者模式和命令模式的一些概念區(qū)別,需要的朋友可以參考下2016-04-04
Ruby實(shí)現(xiàn)的最短編輯距離計(jì)算方法
這篇文章主要介紹了Ruby實(shí)現(xiàn)的最短編輯距離計(jì)算方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05
Ruby中實(shí)現(xiàn)把字符串轉(zhuǎn)換為類(lèi)的2種方法
這篇文章主要介紹了Ruby中實(shí)現(xiàn)把字符串轉(zhuǎn)換為類(lèi)的2種方法,其中一種是rails提供的方法,需要的朋友可以參考下2014-10-10
Ruby中的反射(Reflection)應(yīng)用實(shí)例
這篇文章主要介紹了Ruby中的反射(Reflection)應(yīng)用實(shí)例,實(shí)現(xiàn)通過(guò)一個(gè)類(lèi)名字符串構(gòu)造一個(gè)類(lèi)對(duì)象和訪問(wèn)成員變量和私有方法 ,需要的朋友可以參考下2014-06-06
簡(jiǎn)單介紹Ruby on Rails對(duì)PostgreSQL數(shù)組類(lèi)型的支持
這篇文章主要介紹了簡(jiǎn)單介紹Ruby on Rails對(duì)PostgreSQL數(shù)組類(lèi)型的支持,Rails框架從4.0以后對(duì)PG的數(shù)組提供了支持,需要的朋友可以參考下2015-04-04

