ruby的Array总结
2010-12-28 11:25:54| 分类: Ruby/Rails|字号 订阅
Array 作为一个类,其中方法有:(简单的就不想说明了,仅作参考)
方法 | 说明 | 调用举例 | 其他 |
[] | 将返回一个新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组成的一维数组,并返回。查找的元素还得是其中一维数组的起始值 |
|
|
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 |
|
|
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最前位置 |