11、数组
优质
小牛编辑
139浏览
2023-12-01
数组的生成:
举例:
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 来循环访问数组成员。