Scala講座:將函數(shù)作為第一類對象來處理
作者:牛尾剛
本文繼續(xù)Scala講座的第二部分內(nèi)容,即將函數(shù)作為第一類對象來處理問題,希望大家喜歡。
之前,我們學(xué)習(xí)了Scala全局變量問題的解決,下面我們繼續(xù)Scala講座,解決如何將函數(shù)作為***類對象來處理。
將函數(shù)作為***類對象
在函數(shù)式語言中,可以對函數(shù)像值或?qū)ο髮嵗粯舆M(jìn)行綁定在變量上或者作為參數(shù)來傳遞的操作。最近的語言,即使不是函數(shù)式語言,也可以用閉包方式來實現(xiàn)這些功能。
以下是將函數(shù)綁定在multiply名稱上,將函數(shù)賦給變量的示例。
將3傳遞給函數(shù)multiply返回6。
- scala> val multiply = (x:Int) => x * 2
- multiply: (Int) => Int =
下例中將multiply函數(shù)作為參數(shù)傳遞給別的函數(shù)。將函數(shù)muliply作為***個參數(shù),7作為第二個參數(shù)傳遞給函數(shù)applyFunction,得到的返回值是14。
- scala> multiply(3)
- res1: Int = 6
好了,講解完Scala函數(shù)與***類對象,Scala講座中舊的知識的復(fù)習(xí)就到這里了,接下來讓我們體驗一下正真的函數(shù)式編程。
- def applyFunction(f:(Int => Int), num:Int):Int = {
- f(num)
- }
- scala> applyFunction(multiply, 7)
- res2: Int = 14
【編輯推薦】
責(zé)任編輯:book05
來源:
JavaEye博客