ruby的Array總結 c++
2010-12-28 11:25:54| 分類: Ruby/Rails|字號 訂閱 數組
Array 做爲一個類,其中方法有:(簡單的就不想說明了,僅做參考) ruby
方法 數據結構 |
說明 編碼 |
調用舉例 spa |
其餘 對象 |
[] blog |
將返回一個新array類對象 索引 |
|
|
new element |
建立新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最前位置 |