ruby的Array总结

来源:互联网 发布:koala软件 编辑:程序博客网 时间:2024/05/17 11:32

ruby的Array总结 

http://chaixingbo.blog.163.com/blog/static/2980407520101128112554382/

方法说明调用举例其他[]将返回一个新array类对象

new创建新array对象,Array.new(size=0,object= 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]
<=>比较,返回-1,0,1

==

是否相等,返回True or False



===和上一样,

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

atReturns 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?==

fillarr.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最前位置
原创粉丝点击