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

相關文章
相關標籤/搜索