Lambda 運算式:fun 關鍵字 (F#)
fun 關鍵字用來定義 Lambda 運算式,即匿名函式。
fun parameter-list -> expression
備註
parameter-list 由參數名稱和選擇性參數型別所組成。 有效參數清單的範例包含下列:
fun a b c -> ...
fun (a: int) b c -> ...
fun (a : int) (b : string) (c:float) -> ...
parameter-list 可以由任何 F# 模式組成。 如需可能模式的完整清單,請參閱模式比對 (F#)。
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 運算式
當您要在清單或其他集合上執行作業,但要避免定義函式的額外工作時,Lambda 運算式特別有用。 許多 F# 程式庫函式都接受函式值做為引數,在這種情況下使用 Lambda 運算式特別方便。 下列程式碼會將 Lambda 運算式套用至清單項目。 在此情況下,匿名函式會將清單的每個項目加 1。
let list = List.map (fun i -> i + 1) [1;2;3]
printfn "%A" list