11、数组

原创:夏克  发表时间:2005-6-3 2:06:57  点击次数:216

   
数组的生成: 

举例:

a=[" Allex"," 国家 "," 颂歌 "] 


上面的代码生成一个字符串数组,有3个单元。

通过下标来访问数组单元

举例:

a=[" Allex"," 国家 "," 颂歌 "] 
p a[0] #=>" Allex"
p a[1] #=>" 国家 "
p a[2] #=>" 颂歌 "

 

当给数组变量赋值时下标按从做到右,从0开始的次序来分配。

数组可以容纳任意类型的对象,即使是同一个数组也可以容纳不同种类的对象。

举例:

a=[2000," Allex", true,1..50] 
p a #=>[2000," Allex", true,1..50]

 
数组的单元就像变量一样,可以像操作变量一样操作数组单元。

举例:

a = [10, 20, 30] 
a[0] = 100
p a # => [100, 20, 30]


若是下标超出了原来的边界,则自动添加新的数组单元。

举例:

a = [10, 20, 30] 
a[3] = 40
p a # => [10, 20, 30, 40]


Ruby语言的灵活性由此可见一斑。

如果越过了原来的边界,会怎么样:

举例:

a = [10, 20, 30] 
a[5] = 60
p a # => [10, 20, 30, nil, nil, 60]
 

nil是与True/False一类的常量,表示空。

数组的操作:

数组是 Array 类的实例,所以查看这个类的定义,就可以看出数组如何操作了。

例如想知道数组的元素数量的情况就使用size属性。String 级的 size 属性返回字符串长度,然而 Array 类的 size 属性返回数组的元素数量。数组为空时size=0。

举例:

a=[" Allex"," 国家 "," 颂歌 "]
p a.size # => 3


如果想知道是否包含就是用include?方法:

举例:

a=[" Allex"," 飞行学院 "," 颂歌 "] 
p a.include?(" 飞行学院 ") # => true
p a.include?(" 人间四月天") # => false
 

也可以使用for来循环访问数组单元:

举例:

a=[" Allex"," 中华人民共和国 "," 颂歌 "] 
for s in a
p s
end
 

这里用变量 s 来循环访问数组成员。
版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。
 

 

 

版权所有(C) RUBY中文化计划