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