ruby的Array总结

ruby的Array总结   c++

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

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

方法 数据结构

说明 编码

调用举例 spa

其余 对象

[] blog

将返回一个新array类对象 索引

new element

建立新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最前位置

相关文章
相关标签/搜索