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

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

熱門標(biāo)簽:巫師3地圖標(biāo)注魔力之所 天津外呼系統(tǒng)怎么收費(fèi) 淮安自動外呼系統(tǒng)供應(yīng)商 柯城手機(jī)地圖如何做地圖標(biāo)注 外呼線路從哪里出來的 中牟外呼系統(tǒng)違法嗎 征服者企業(yè)地圖標(biāo)注 漯河電銷 AI電銷機(jī)器人 線路

哈希(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)簽:南昌 西雙版納 棗莊 河池 內(nèi)江 克拉瑪依 甘孜 大慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Ruby中創(chuàng)建和使用哈希的教程》,本文關(guān)鍵詞  在,Ruby,中創(chuàng),建和,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Ruby中創(chuàng)建和使用哈希的教程》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Ruby中創(chuàng)建和使用哈希的教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章