?
?
哈希表的生成:?
一個關(guān)聯(lián)數(shù)組不通過下標來訪問,而是通過主鍵(key)訪問.這樣的數(shù)組有時被叫作哈希(hash).將一對對的元素用逗號分隔開,并用大括號({})括起來,這樣就組成了一個哈希表.你用一個關(guān)鍵字在哈希表里進行搜索,就像你在數(shù)組里用索引來提取數(shù)據(jù)一樣.
例如:
a={"?Allex"=>2000,"?帆布背包?"=>2003}?
在這個例子中,"?Allex"?和?"?帆布背包?"?是主鍵(key),2000?和?2003?是實際的數(shù)值。這樣,主鍵和數(shù)值之間用“?=>”?號連接,形成關(guān)系。
如果要取出實際的數(shù)值,如下所示:
a={"?Allex"=>2000,"?帆布背包?"=>2003}?
p?a["?Allex"]?#?=>?2000
p?a["?帆布背包?"]?#?=>?2003
p?a["?中國"]?#?=>?nil?
這里以字符串為key?,但對其他的數(shù)據(jù)類型也一樣。
對哈希表元素的追加,如下示例:
a?=?{}???#建一個空表?
a?=?{}???#建一個空表?
a["?Allex"]=2000??#賦值
p?a?#=>{"?Allex"=>2000}
哈希表屬于Hash類的實例,可以調(diào)用這個類的相關(guān)方法。
例如刪除一個元素:
a={"?Allex"=>2000,"?帆布背包?"=>2003}?
a.delete("?帆布背包?")
p?a?#=>{"?Allex"=>2000}
查看是否包含某鍵值:
a={"?Allex"=>2000,"?帆布背包?"=>2003}
p?a.include?("?Allex")?#?=>?true?
p?a.include?("?中中中?")?#?=>?false
?
取得?keys?的方法:
a?=?{3=>6,?4=>10,?5=>15}?
p?a.keys?#?=>?[5,?3,?4]?
把keys放在for循環(huán)中:
a?=?{3=>6,?4=>10,?5=>15}
for?k?in?a.keys
????p?k
end?
如果使用?values,可以取得數(shù)值方面的一覽表。
a?=?{3=>6,?4=>10,?5=>15}
for?v?in?a.values
????p?v
end?
版權(quán)聲明:RUBY文檔中心的所有文章標明[原創(chuàng)]的均為本站作品,版權(quán)屬RUBY中文化計劃,若轉(zhuǎn)載請注明;標明[翻譯]的其外文版權(quán)歸原作者,譯文版權(quán)屬RUBY中文化計劃;標明[轉(zhuǎn)貼]的,若原作者感到侵犯了他的著作權(quán),那么請及時跟主持人聯(lián)系,我們會盡快更正。
?