2015-04-06 103 views
1

地圖中的功能非常簡單。我想將列表中的每個元素都加倍:如何在功能中使用地圖

map(fn x => x * 2); 

但是如果我想命名這個函數是雙重的呢?

fun double = map(fn x => x * 2); 

調用這個函數,我得到

- double [1,2,3]; 
val it = fn : int list -> int list 

我該如何命名這個功能增加一倍?

回答

1

map (fn x => x * 2)結果是一個函數,它可以被綁定到一個標識符:

- val double = map (fn x => x * 2); 
val double = fn : int list -> int list 

- double [1,2,3]; 
val it = [2,4,6] : int list 

fun形式僅僅是語法糖。例如:

fun name param = ... 

將脫到:

val rec name = fn param => ... 

rec的是,可以讓你實現遞歸函數定義的關鍵字。

+0

我以爲我對此是正確的。教師注意到這個名字是一個函數double,它使用高階函數圖將列表中的每個元素加倍。只是奇怪的措辭。謝謝 – Programatic