ruby的Array总结




ruby的Array总结  

2010-12-28 11:25:54|  分类: Ruby/Rails|字号 订阅

Array 作为一个类,其中方法有:(简单的就不想说明了,仅作参考)

方法

说明

调用举例

其他

[]

将返回一个新array类对象

new

创建新array对象,Array.new(size=0object= nil)

Array.new(2)

&

2个数组相与的结果,返回array对象

*

重复扩建该数组

[1,2]*2 =>[1,2,1,2]

+

2个数组链接到一个新数组

[1,2]+[2,3]=>[1,2,2,3]

--

去掉数组中重复的

[1,2,2,4]--[2]=>[1,4]

<<

+,不过是返回<<左边的Array

[1,2]<<[3]=>[1,2,3]

<=>

比较,返回-101

==

是否相等,返回True or False

===

和上一样,

assoc

查找一个Array由多维array组成的一维数组,并返回。查找的元素还得是其中一维数组的起始值

at

Returns the element at index anInteger.a[i]一样。

clear

array中清除所有数据

collect

其实就是迭代器,所谓迭代器,通俗的说,就是某个数据结构中遍历所有元素。ruby迭代器后肯定跟着块。

arr.collect {

|obj|

...

}

常用

collect

加了!,表示可以修改本身参数。和上一样。和c++中的Iterator一样,有可写属性

compact

去掉数组中nil部分,返回新的一个array

compact

同上,不过只是基于本身对象的修改。不过,如果本数组对象没有nil,则调用compact!后变成nil

[1,nil,2].compact! =>[1,2]

[1,2].compact! =>nil

concat

[1,2].concat([2,3])=>[1,2,2,3]

delete

删除array中数组指定的元素。

没有找到返回nil

如果delete.(anObject){|block|},如果后面跟了块的话,则没有找到时执行。

delete_at

delete_if

arr.delete_if {| | block } ,

删除满足block的元素。

a=['1','2','4', '5']

a.delete_if{|x| x>3}

each

迭代器

each_index

index方式迭代

empty?

arr.empty?====>true or false

eql?

==

fill

arr.fill( anObject ) -> arr 
arr.fill( anObjectstart [length ] ) -> arr 
arr.fill( anObjectaRange ) -> arr

first

flatten

使数组一维化,并返回新的array

[[1,2],[2,3]].flatten=>[1,2,2,3]

flatten

include?

index

indexs

返回指定多个索引值的array

indices

indexs

join

把数组中连接成一个字符串

[1,2].join=12

last

length

数组长度

map!

collect!

nitems

计算数组中不为nil的元素个数

pack

编码数组为一定格式的字符串,其中格式要求按照string#unpack来的格式说明一样

a=["a","b"]

a.pack("A10")

=>"a "

pop

从数组中移除最后元素,

push

rassoc

assoc,不过查询的是第二个元素

reject

delete_if

replace

reverse

reverse

reverse_each

迭代器

rindex

shift

size

slice

把当前数组切片。

[1,2,3,4].slice(1,2)=>[2,3]

slice!

sort

sort!

to_a

to_ary

to_s

uniq

数组去掉重复的

uniq

unshift

添加对象到array最前位置


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值