佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 在Ruby中創(chuàng)建和使用哈希的教程

在Ruby中創(chuàng)建和使用哈希的教程

熱門標(biāo)簽:硅谷的囚徒呼叫中心 百度AI接口 語音系統(tǒng) 企業(yè)做大做強(qiáng) 電話運(yùn)營中心 客戶服務(wù) Win7旗艦版 呼叫中心市場需求

哈希(Hash)是類似 "employee" => "salary" 這樣的鍵值對的集合。哈希的索引是通過任何對象類型的任意鍵來完成的,而不是一個整數(shù)索引,其他與數(shù)組相似。

通過鍵或值遍歷哈希的順序看起來是隨意的,且通常不是按照插入順序。如果您嘗試通過一個不存在的鍵訪問哈希,則方法會返回 nil。
創(chuàng)建哈希

與數(shù)組一樣,有各種不同的方式來創(chuàng)建哈希。您可以通過 new 類方法創(chuàng)建一個空的哈希:

months = Hash.new

您也可以使用 new 創(chuàng)建帶有默認(rèn)值的哈希,不帶默認(rèn)值的哈希是 nil:

months = Hash.new( "month" )
 
or
 
months = Hash.new "month"

當(dāng)您訪問帶有默認(rè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 對象作為鍵或值,甚至可以使用數(shù)組,所以下面的實(shí)例是一個有效的實(shí)例:

[1,"jan"] => "January"

哈希內(nèi)建方法

我們需要有一個 Hash 對象的實(shí)例來調(diào)用 Hash 方法。下面是創(chuàng)建 Hash 對象實(shí)例的方式:

Hash[[key =>|, value]* ] or
 
Hash.new [or] Hash.new(obj) [or]
 
Hash.new { |hash, key| block }

這將返回一個使用給定對象進(jìn)行填充的新的哈?!,F(xiàn)在,使用創(chuàng)建的對象,我們可以調(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

下面是公共的哈希方法(假設(shè) hash 是一個 Hash 對象):

您可能感興趣的文章:
  • 實(shí)例講解Ruby中的五種變量
  • 使用Ruby來處理JSON的簡單教程
  • 用Ruby進(jìn)行CGI編程的入門指引

標(biāo)簽:山西 安康 喀什 海南 濟(jì)南 山西 崇左 長沙

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Ruby中創(chuàng)建和使用哈希的教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    花莲市| 象州县| 丘北县| 房产| 曲阳县| 云林县| 洱源县| 博白县| 左权县| 榆林市| 筠连县| 友谊县| 普安县| 方山县| 靖远县| 济宁市| 咸宁市| 延川县| 青浦区| 余姚市| 永城市| 中山市| 修文县| 克拉玛依市| 兴文县| 阿坝| 屯昌县| 新泰市| 诏安县| 兴国县| 梨树县| 那坡县| 宁城县| 同心县| 龙泉市| 宣武区| 柘城县| 玉树县| 辽阳县| 郁南县| 仲巴县|