在scala中,有時我們需要將函式定義為引數個數可變的形式,則此時可以使用變長引數定義函式。
def sum(nums: int*)
=sum(1, 2, 3, 4, 5)
在如果想要將乙個已有的序列直接呼叫變長引數函式,是不對的。比如val s = sum(1 to 5)。此時需要使用scala特殊的語法將引數定義為序列,讓scala直譯器能夠識別。這種語法非常有用!一定要好好主意,在spark的原始碼中大量地使用到了。
val s = sum(1 to 5: _*)
案例:使用遞迴函式實現累加
def sum2(nums: int*): int =
07 詳解scala函式程式設計
在main函式體外面的原始碼 def test str string unit def main args array string unit 在main函式體裡面的原始碼 def main args array string unit test 張三 def test unit def test1...
深度學習優化函式第5講
原 2017年08月04日 11 35 26 史丹利復合田 閱讀數 16292 更多分類專欄 深度學習 深度學習優化函式詳解 深度學習優化函式詳解系列目錄 本系列課程 歡迎star 深度學習優化函式詳解 0 線性回歸問題 深度學習優化函式詳解 1 gradient descent 梯度下降法 深度學...
第28講 Scala提取器Extractor
所謂提取器,就是從表示式獲取具體值。其作用,可以根據某一規則,非常方便的獲取到想要的值 例項 def match arr arr any arr match執行 def main args array string 執行例項的結果 array 0 array x 0,y 1 array 0 othe...