ruby数组基本操作

#创建数组的几种方法#字面量创建的方法

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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值