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?==
fill arr.fill( anObject ) -> arr
arr.fill( anObject, start [, length ] ) -> arr
arr.fill( anObject, aRange ) -> 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最前位置