你通過在方括號(hào)里列出元素并用逗號(hào)將它們相互隔開來創(chuàng)建一個(gè)數(shù)組.?Ruby的數(shù)組可以適應(yīng)不同的對(duì)象類型
ruby>?ary?=?[1,?2,?"3"]
???[1,?2,?"3"]?
就像前面提到的字符串一樣.數(shù)組也可以相乘或相加
ruby>?ary?+?["foo",?"bar"]
???[1,?2,?"3",?"foo",?"bar"]
ruby>?ary?*?2
???[1,?2,?"3",?1,?2,?"3"]?
我們可用索引來訪問數(shù)組的任意一部分.
ruby>?ary[0]
???1
ruby>?ary[0,2]
???[1,?2]
ruby>?ary[0..1]
???[1,?2]
ruby>?ary[-2]
???2
ruby>?ary[-2,2]
???[2,?"3"]
ruby>?ary[-2..-1]
???[2,?"3"]?
(負(fù)數(shù)索引表示到數(shù)組末尾的偏移,而不是從開頭算起.)
數(shù)組可以和字符串互相轉(zhuǎn)化,分別使用join和split:
ruby>?str?=?ary.join(":")
???"1:2:3"
ruby>?str.split(":")
???["1",?"2",?"3"]?
哈希表
一個(gè)關(guān)聯(lián)數(shù)組不通過連續(xù)的數(shù)字索引來訪問,而是通過任何類型的主鍵(key)訪問.這樣的數(shù)組有時(shí)被叫作哈希(hash)或者字典(dictionary).在Ruby里,我們趨向于用哈希這個(gè)術(shù)語.將一對(duì)對(duì)的元素用逗號(hào)分隔開,并用大括號(hào)({})括起來,這樣就組成了一個(gè)哈希表.你用一個(gè)關(guān)鍵字在哈希表里進(jìn)行搜索,就像你在數(shù)組里用索引來提取數(shù)據(jù)一樣.
ruby>?h?=?{1?=>?2,?"2"?=>?"4"}
???{1=>2,?"2"=>"4"}
ruby>?h[1]
???2
ruby>?h["2"]
???"4"
ruby>?h[5]
???nil
ruby>?h[5]?=?10?????#?appending?value
???10
ruby>?h
???{5=>10,?1=>2,?"2"=>"4"}
ruby>?h.delete?1???#?deleting?value
???2
ruby>?h[1]
???nil
ruby>?h
???{5=>10,?"2"=>"4"}?
版權(quán)聲明:RUBY文檔中心的所有文章標(biāo)明[原創(chuàng)]的均為本站作品,版權(quán)屬RUBY中文化計(jì)劃,若轉(zhuǎn)載請(qǐng)注明;標(biāo)明[翻譯]的其外文版權(quán)歸原作者,譯文版權(quán)屬RUBY中文化計(jì)劃;標(biāo)明[轉(zhuǎn)貼]的,若原作者感到侵犯了他的著作權(quán),那么請(qǐng)及時(shí)跟主持人聯(lián)系,我們會(huì)盡快更正。
?