Ruby函數(shù)參數(shù)傳遞特性分析
作者:佚名
Ruby函數(shù)參數(shù)傳遞是一個比較基礎(chǔ)的知識點。我們在學(xué)習(xí)的過程中需要對其進(jìn)行熟練的操作,以便充分掌握這一基礎(chǔ)知識。
剛剛接觸Ruby語言不久的朋友可能對于這種新的編寫方式有些不太適應(yīng)。其實只要我們熟練掌握了諸如Ruby函數(shù)參數(shù)傳遞這些基本知識,大致就能熟悉其編寫特點。#t#
Ruby函數(shù)參數(shù)傳遞代碼示例:
- def f (a,b)
- puts a,b;
- end
- f([2,3]) # 出錯
- f(*[2,3])
輸出:
# 2
# 3
- def k (a={},*b)
- puts a.inspect,b.inspect;
- end
- k(5,2=>3,1=>2])
輸出: 5
- [{1=>2, 3=>3}]
- k(1=>3
輸出: {1=>3}
[]
Ruby函數(shù)參數(shù)傳遞中,最右邊的散hash(2=>3,1=>2 就是散hash)會被當(dāng)成一個參數(shù)。
函數(shù)定義中,最右邊的*b,是取調(diào)用者中的剩余參數(shù)(這些參數(shù)放到一個b數(shù)組中); 如果沒有剩余參數(shù),那么b 為[]
責(zé)任編輯:曹凱
來源:
博客園