1、作為值的函式
**
* @program: scalablog
* @description: 高階函式
* 高階函式包括作為值的函式、匿名函式、閉包、柯里化等等
* @author: allen
* @create: 2018-09-17 14:13
**/class highfunctiondemo
/*** 作為值得函式,函式可以像其他的資料型別一樣被傳遞和操作,定義格式為:
* val 變數名 = (輸入引數型別和個數) => 函式實現和返回值型別和個數
* 「=」表示將函式賦給乙個變數
* 「=>」左面表示輸入引數名稱、型別和個數,右邊表示函式的實現和返回值型別和引數個數
*/val f1 = (x: int) => x * 2
private val arr1 = array(1, 2, 3, 4)
private val arr2: array[int] = arr1.map(f1)
println(arr2.tobuffer)
}
2、匿名函式
/*** 匿名函式
*/private val arr1 = array(1, 2, 3, 4)
private val arr2: array[int] = arr1.map(_ * 2)
println(arr2.tobuffer)}
3、將方法轉換為函式
/*** 將方法轉換為函式,利用下劃線可以將方法轉換為函式
*/def m1(x: int) = x * 2
//將m1方法轉換為f1函式
private val f1: int => int = m1 _
private val arr1 = array(1, 2, 3, 4)
private val arr2: array[int] = arr1.map(f1)
println(arr2)}
4、柯里化
// 柯里化,將原來接受兩個引數的方法變為接受乙個引數的方法
def m1(x: int) = (y: int) => x + y
val f1 = m1(1)
println(f1(2))
println(m1(1)(2))}
Django系列學習之五
後台管理頁面做好了,接下來就要做公共訪問的頁面了。當我們剛剛在瀏覽器中輸入 之後,瀏覽器顯示出了後台管理的登入頁面,那有沒有同學想過這個伺服器是怎麼給我們找到這個頁面並返回呢?admin 是我們想要請求得頁面,伺服器在收到這個請求之後,就一定對應著乙個處理動作,這個處理動作就是幫我的產生頁面內容並返...
Scala函式特性系列 高階函式
帶函式引數的函式由於是乙個接受函式引數的函式,故被稱為 高階函式,像之前講到的 map 函式就是高階函式。如下例所示 上述 中,函式接受乙個函式 f作為引數,接受乙個 int型別的引數,進行 f v 運算,在下面又給出了 f具體的定義 layout 函式 同樣的,高階函式也可以產出另乙個函式 即返回...
scala入門 (五) scala高階函式用法
前言 上一節對scala的匹配模式,做了乙個大致的介紹。這一節將對scala的高階函式進行乙個入門。作為一門函式式程式語言,想要用好這門語言,scala函式的高階用法還是比較重要的。同樣再介紹相關知識的時候,會和python進行對比。字串高階操作 格式化字串操作 在python中格式字串的方式比較多...