Ruby中關(guān)于hash的基本使用方法
哈希鍵 - 值對(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:
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
相關(guān)文章
win10下使用virtualbox + vagrant配置ruby開(kāi)發(fā)機(jī)環(huán)境
Vagrant是一個(gè)基于Ruby的工具,用于創(chuàng)建和部署虛擬化開(kāi)發(fā)環(huán)境。它 使用Oracle的開(kāi)源VirtualBox虛擬化系統(tǒng),使用 Chef創(chuàng)建自動(dòng)化虛擬環(huán)境。搭配Cmder如絲般順滑,實(shí)現(xiàn)你所有關(guān)于Mac&Linux的幻想2017-08-08
Ruby簡(jiǎn)明教程之?dāng)?shù)組和Hash介紹
這篇文章主要介紹了Ruby簡(jiǎn)明教程之?dāng)?shù)組和Hash介紹,非常簡(jiǎn)潔的講解,可以作為語(yǔ)法備忘,需要的朋友可以參考下2014-06-06
ruby 學(xué)習(xí)筆記(1) 初識(shí)語(yǔ)法
Ruby是一種簡(jiǎn)單的面向?qū)ο缶幊陶Z(yǔ)言,十分容易上手,并且功能強(qiáng)大,ruby/ruby on rails從2007年就一直獲獎(jiǎng)無(wú)數(shù),下面這篇文章給大家詳細(xì)介紹下,需要的朋友可以參考下2010-02-02
詳解組合模式的結(jié)構(gòu)及其在Ruby設(shè)計(jì)模式編程中的運(yùn)用
這篇文章主要介紹了組合模式的結(jié)構(gòu)及其在Ruby設(shè)計(jì)模式編程中的運(yùn)用,組合模式在Ruby on Rails框架開(kāi)發(fā)項(xiàng)目中也經(jīng)常被用到,需要的朋友可以參考下2016-03-03

