匯出 (0) 列印
全部展開
本文章是由人工翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文

Lambda 運算式:fun 關鍵字 (F#)

fun 關鍵字用來定義 Lambda 運算式,即匿名函式。

fun parameter-list -> expression

parameter-list 通常包含參數的名稱,然後,或者,型別。 通常, parameter-list 可以是任何 F# 模式組成。 如需可能模式的完整清單,請參閱模式比對 (F#) 有效參數清單包含下列範例。


// Lambda expressions with parameter lists.
fun a b c -> ...
fun (a: int) b c -> ...
fun (a : int) (b : string) (c:float) -> ...

// A lambda expression with a tuple pattern.
fun (a, b) -> …

// A lambda expression with a list pattern.
fun head :: tail -> …

expression 是函式主體,其中最後一個運算式會產生傳回值。 有效 Lambda 運算式的範例包含下列:


fun x -> x + 1
fun a b c -> printfn "%A %A %A" a b c
fun (a: int) (b: int) (c: int) -> a + b * c
fun x y -> let swap (a, b) = (b, a) in swap (x, y)


當您要在清單或其他集合上執行作業,但要避免定義函式的額外工作時,Lambda 運算式特別有用。 許多 F# 程式庫函式都接受函式值做為引數,在這種情況下使用 Lambda 運算式特別方便。 下列程式碼會將 Lambda 運算式套用至清單項目。 在此情況下,匿名函式會將清單的每個項目加 1。


let list = List.map (fun i -> i + 1) [1;2;3]
printfn "%A" list


社群新增項目

新增
顯示:
© 2015 Microsoft