Ruby常見方法

2021-08-26 07:32:08 字數 2850 閱讀 4034

1. capitalize方法

該方法是字串類string的乙個方法,對所有字串都適用。它的作用是將呼叫該方法的字串的首字母改為大寫。舉例如下:

s = 「ruby」

s.capitalize → 「ruby」

又如:def say_goodnight(name)

result = "good night, #"

#capitalize將引數name所代表的字串的首字母改為大寫

return result #其實這條語句是多餘的,因為乙個方法如果沒有指定返回值,則預設返回最後乙個表示式的值

endputs say_goodnight("mum")

輸出結果:

good night,mum

2. each方法

each方法經常與block一起使用,它的最大好處能夠在某衝情況下取代for迴圈的功能。each方法會將呼叫它的物件中的所有元素依次賦給與each方法相關聯的block的變數。

例如:(『a』..』e』).each → abcde #range中兩點表示全閉區間,三點表示前閉後開

在上面的例子中,range物件(『a』..』e』)呼叫each方法,each方法將(『a』..』e』)物件的每個值依次賦給block中的char變數。

再來看下面這個例子:

file = file.open(「filename」)#開啟名稱為filename的檔案,並將其內容寫入到file中

file.each

file.close #檔案開啟後必須關閉

輸出結果:

this is line one

this is line two

this is line three

and so on…

3. times方法

呼叫times方法的一般是具體的數字(整數)物件,times會按照物件的要求來指定其後block的執行次數。該方法是整數支援的集中常用的迭代器之一。

例如:5.time

輸出結果:

*****

4. upto()方法

upto()方法會有乙個引數,它的引數的值將與呼叫它的物件的值構成乙個range,然後再將該range內的值依次賦值給其後block中的變數。該方法是整數支援的集中常用的迭代器之一。

例如:3.upto(8)

輸出結果為:

345678

5. inject方法

inject方法可以遍歷集合中的所有成員以累計出乙個值,一般地,他可以求得集合中元素的和或積。例如:

[2,4,6,8].inject(0) 輸出結果:20

[2,4,6,8].inject(1) 輸出結果:384

上述兩條語句展示了求集合中元素的和或積的方法。

inject方法的工作原理:

(1) 當inject有引數時,inject後面的block第一次執行時,sum或product的值被設定為引數的值,而element的值被設定為集合中第乙個元素的值。接下來每次再執行block時,sum或product的值被設定為上次呼叫block時的返回值,element即為集合中下乙個元素的值。inject的最終結果是最後一次呼叫block的返回值。

(2) 當inject沒有引數時,那麼sum或product的初始值即為集合中第乙個元素的初始值,表示式將會從第二個元素開始迭代。

根據上述說明,可以很容易得出下面這些表示式的結果:

[2,4,6,8].inject(3) 輸出結果:23

[2,4,6,8].inject(2) 輸出結果:768

[2,4,6,8].inject 輸出結果:20

[2,4,6,8].inject 輸出結果:384

呼叫inject方法的是乙個集合,這個集合可以是數值array,同時它還可以是range,例如:

(2..5).inject(3) 輸出結果:17

(2..5).inject(2) 輸出結果:240

該集合也可以是數值array的一部分,例如:

a = [2,4,6,8,10] .

a[0,2].inject(3)

輸出結果:9

6. abs方法

abs方法的作用是取得呼叫它的數字物件的絕對值。例如:

a = -123

a.abs →123

(-123).abs → 123

注意,abs(num)這種表達方式是錯誤的。

7. downto()方法

downto()方法是upto()方法的逆方法。downto()方法有乙個引數,呼叫它的物件的值它的引數的值將與構成乙個range,然後再將該range內的值依次賦值給其後block中的變數。該方法是整數支援的集中常用的迭代器之一。

例如:20.downto(15)

輸出結果:20 19 18 17 16 15

8. step()方法

該方法的形式為:a.step(b,c) ,它有兩個引數,其中第乙個引數b與呼叫該方法的數字物件b構成乙個range。相當於是乙個以a為首項,b為末項,c為公差的乙個等差數列。step方法的作用就是將該等差數列的各項分別傳入block中,即進行迭代。

例如:10.step(20,2)

輸出結果:

10,12,14,16,18,20

注意,從數學的意義上講,在setp方法中並不要求b = n*c成立(n為整數),只需要滿足a < b成立即可。

例如:12.step(26,5.1)

輸出結果:

12.0,17.1,22.2

Java Collection常見方法

collection的常見方法 1 新增 boolean add object obj 新增單個物件 boolean addall collection coll 新增集合 2 刪除 boolean remove object obj 刪除單個物件 boolean removeall collect...

Java Set常見方法

set 元素不能重複,無序。set介面中的方法和collection一致 hashset 內部資料結構是雜湊表,是不同步的。雜湊表確定元素是否相同 1 判斷的是兩個元素的雜湊值是否相同,如果相同再判斷兩個物件的內容是否相同。2 判斷雜湊值相同,其實判斷的是物件的hashcode的方法,判斷內容相同,...

dwr 常見方法

dwr 常見方法 功能 相當於document.getelementbyid id 引數 id或name屬性值 例 dwrutil.getvalue 功能 獲得指定元素value值 引數 id或name屬性值 注意 該函式只能用於有value屬性的元素 例 dwrutil.getvalues 功能 ...