#创建数组的几种方法#字面量创建的方法
a = [1,2,3]
a = []
a = %w[1 2 3]
a = Array[1,2,3]
#使用new方法创建
empty = Array.new #[]
nils = Array.new(3) #[nil,nil,nil]
copy = Array.new(nils) #[nil,nil,nil]
zeros = Array.new(4,0) #[0,0,0,0]
count = Array.new(3){ |i| i+1 } #[1,2,3]#得到数组大小
[1,2,3].length #3
[].size #0
#基本操作获取数组当中的元素
Arr = Array['a','b','c','d','e']Arr[0] #first element
Arr[-1] #last element
Arr[a.size-1] #last element
Arr[-a.size-1] #first element
Arr[6] #nilArr[-6] #nil
Arr.at(2) #c
Arr.fetch(1) #b
Arr.fetch(-1) #e
Arr.fetch(6) #indexError
Arr.fetch(-6) #indexError
Arr.first #aArr.last #e
Arr[0,2] #['a','b']
Arr[0..2] #['a','b','c']
Arr[0...2] #['a','b']
Arr[1,1] #['b']
Arr.slice(0..1)#['a','b']
Arr.first(3) #['a','b','c'] 返回前三个元素
Arr.last(1) #['e'] 返回最后一个元素#常用操作#修改数组元素
Arr = [1,2,3]
Arr[0] = 0#[0,2,3]
Arr[-1]= 4#[0,2,4]
Arr[1] = nil#[0,nil,4]
#添加数组元素
Arr = [1,2,3]
Arr[3] = 4#[1,2,3,4]
Arr[5] = 6#[1,2,3,4,nil,6]
Arr << 7#[1,2,3,4,nil,6,7]
Arr << 8 << 9#[1,2,3,4,nil,6,7,8,9]
Arr.concat([4,5]) #[1,2,3,4,nil,6,7,8,9,4,5]
#删除数组元素Arr = [1,2,3,4,5,6,7,8]
Arr.slice!(0) #=>删除第一个元素[2,3,4,5,6,7,8]
Arr.slice!(-1,1) #=>删除最后一个元素[2,3,4,5,6,7]
Arr.slice!(2..3) #=>删除第3个和第4个元素[2,3,6,7]
#其它方法
Arr = [4,5]
Arr.replace([1,2,3]) #[1,2,3]
Arr.fill(0) #[0,0,0]
Arr.fill(nil,1,3) #[0,nil,nil,nil]
Arr.fill('a',2..4) #[0,nil,'a','a','a']
Arr.fill(2..4){'b'} #[0,nil,'b','b','b']
Arr.clear #[]
#对数组进行迭代,更多请查看Enumerable模块
Arr = ['a','b','c']Arr.each {|e| print e} #print "abc"
Arr.reverse_each{|e| print e} #print "cba"
Arr.each_indexArr.each_with_index{|e,i| print e,i} #print a0b1c2
Arr.map{|x| x.upcase} #return ['A','B','C']#搜索数组和排序
Arr = ['h','e','l','l','0']
Arr.include?('l')
Arr.index('l')
Arr.rindex('l') #从后往前搜索
Arr.index{|c| c=~/[aeiou]/} #接收代码块 rindex同样也接收这种方式的调用
Arr.sort #也支持代码块调用
Arr.shuffle #随机排列数组ruby数组基本操作
#原文出处:[url]http://hi.baidu.com/dwspider/item/825607e236b252a5ce2d4f07[/url]
a = [1,2,3]
a = []
a = %w[1 2 3]
a = Array[1,2,3]
#使用new方法创建
empty = Array.new #[]
nils = Array.new(3) #[nil,nil,nil]
copy = Array.new(nils) #[nil,nil,nil]
zeros = Array.new(4,0) #[0,0,0,0]
count = Array.new(3){ |i| i+1 } #[1,2,3]#得到数组大小
[1,2,3].length #3
[].size #0
#基本操作获取数组当中的元素
Arr = Array['a','b','c','d','e']Arr[0] #first element
Arr[-1] #last element
Arr[a.size-1] #last element
Arr[-a.size-1] #first element
Arr[6] #nilArr[-6] #nil
Arr.at(2) #c
Arr.fetch(1) #b
Arr.fetch(-1) #e
Arr.fetch(6) #indexError
Arr.fetch(-6) #indexError
Arr.first #aArr.last #e
Arr[0,2] #['a','b']
Arr[0..2] #['a','b','c']
Arr[0...2] #['a','b']
Arr[1,1] #['b']
Arr.slice(0..1)#['a','b']
Arr.first(3) #['a','b','c'] 返回前三个元素
Arr.last(1) #['e'] 返回最后一个元素#常用操作#修改数组元素
Arr = [1,2,3]
Arr[0] = 0#[0,2,3]
Arr[-1]= 4#[0,2,4]
Arr[1] = nil#[0,nil,4]
#添加数组元素
Arr = [1,2,3]
Arr[3] = 4#[1,2,3,4]
Arr[5] = 6#[1,2,3,4,nil,6]
Arr << 7#[1,2,3,4,nil,6,7]
Arr << 8 << 9#[1,2,3,4,nil,6,7,8,9]
Arr.concat([4,5]) #[1,2,3,4,nil,6,7,8,9,4,5]
#删除数组元素Arr = [1,2,3,4,5,6,7,8]
Arr.slice!(0) #=>删除第一个元素[2,3,4,5,6,7,8]
Arr.slice!(-1,1) #=>删除最后一个元素[2,3,4,5,6,7]
Arr.slice!(2..3) #=>删除第3个和第4个元素[2,3,6,7]
#其它方法
Arr = [4,5]
Arr.replace([1,2,3]) #[1,2,3]
Arr.fill(0) #[0,0,0]
Arr.fill(nil,1,3) #[0,nil,nil,nil]
Arr.fill('a',2..4) #[0,nil,'a','a','a']
Arr.fill(2..4){'b'} #[0,nil,'b','b','b']
Arr.clear #[]
#对数组进行迭代,更多请查看Enumerable模块
Arr = ['a','b','c']Arr.each {|e| print e} #print "abc"
Arr.reverse_each{|e| print e} #print "cba"
Arr.each_indexArr.each_with_index{|e,i| print e,i} #print a0b1c2
Arr.map{|x| x.upcase} #return ['A','B','C']#搜索数组和排序
Arr = ['h','e','l','l','0']
Arr.include?('l')
Arr.index('l')
Arr.rindex('l') #从后往前搜索
Arr.index{|c| c=~/[aeiou]/} #接收代码块 rindex同样也接收这种方式的调用
Arr.sort #也支持代码块调用
Arr.shuffle #随机排列数组ruby数组基本操作
#原文出处:[url]http://hi.baidu.com/dwspider/item/825607e236b252a5ce2d4f07[/url]