?
?
數(shù)組的生成:?
舉例:
a=["?Allex","?國(guó)家?","?頌歌?"]?
上面的代碼生成一個(gè)字符串?dāng)?shù)組,有3個(gè)單元。
通過(guò)下標(biāo)來(lái)訪問(wèn)數(shù)組單元
舉例:
a=["?Allex","?國(guó)家?","?頌歌?"]?
p?a[0]?#=>"?Allex"
p?a[1]?#=>"?國(guó)家?"
p?a[2]?#=>"?頌歌?"
?
當(dāng)給數(shù)組變量賦值時(shí)下標(biāo)按從做到右,從0開始的次序來(lái)分配。
數(shù)組可以容納任意類型的對(duì)象,即使是同一個(gè)數(shù)組也可以容納不同種類的對(duì)象。
舉例:
a=[2000,"?Allex",?true,1..50]?
p?a?#=>[2000,"?Allex",?true,1..50]
?
數(shù)組的單元就像變量一樣,可以像操作變量一樣操作數(shù)組單元。
舉例:
a?=?[10,?20,?30]?
a[0]?=?100
p?a?#?=>?[100,?20,?30]
若是下標(biāo)超出了原來(lái)的邊界,則自動(dòng)添加新的數(shù)組單元。
舉例:
a?=?[10,?20,?30]?
a[3]?=?40
p?a?#?=>?[10,?20,?30,?40]
Ruby語(yǔ)言的靈活性由此可見一斑。
如果越過(guò)了原來(lái)的邊界,會(huì)怎么樣:
舉例:
a?=?[10,?20,?30]?
a[5]?=?60
p?a?#?=>?[10,?20,?30,?nil,?nil,?60]?
nil是與True/False一類的常量,表示空。
數(shù)組的操作:
數(shù)組是?Array?類的實(shí)例,所以查看這個(gè)類的定義,就可以看出數(shù)組如何操作了。
例如想知道數(shù)組的元素?cái)?shù)量的情況就使用size屬性。String?級(jí)的?size?屬性返回字符串長(zhǎng)度,然而?Array?類的?size?屬性返回?cái)?shù)組的元素?cái)?shù)量。數(shù)組為空時(shí)size=0。
舉例:
a=["?Allex","?國(guó)家?","?頌歌?"]
p?a.size?#?=>?3
如果想知道是否包含就是用include?方法:
舉例:
a=["?Allex","?飛行學(xué)院?","?頌歌?"]?
p?a.include?("?飛行學(xué)院?")?#?=>?true
p?a.include?("?人間四月天")?#?=>?false?
也可以使用for來(lái)循環(huán)訪問(wèn)數(shù)組單元:
舉例:
a=["?Allex","?中華人民共和國(guó)?","?頌歌?"]?
for?s?in?a
p?s
end?
這里用變量?s?來(lái)循環(huán)訪問(wèn)數(shù)組成員。
版權(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ì)盡快更正。
?