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