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