Lambda İfadeleri: fun Anahtar Sözcüğü (F#)

fun anahtar sözcüğü, bir lambda ifadesi, yani anonim bir işlev tanımlamak için kullanılır.

Sözdizimi

fun parameter-list -> expression

Açıklamalar

Parametre listesi genellikle adlardan ve isteğe bağlı olarak parametre türlerinden oluşur. Daha genel olarak, parametre listesi herhangi bir F# desenlerinden oluşabilir. Olası desenlerin tam listesi için bkz . Desen Eşleştirme. Geçerli parametre listeleri aşağıdaki örnekleri içerir.

// 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 cons pattern.
// (note that this will generate an incomplete pattern match warning)
fun (head :: tail) -> …

// A lambda expression with a list pattern.
// (note that this will generate an incomplete pattern match warning)
fun [_; rest] -> …

İfade , son ifadesi bir dönüş değeri oluşturan işlevin gövdesidir. Geçerli lambda ifadelerine örnek olarak şunlar verilebilir:

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 İfadeleri kullanma

Lambda ifadeleri özellikle bir listede veya başka bir koleksiyonda işlem yapmak ve işlev tanımlama işleminin fazladan çalışmasını önlemek istediğinizde kullanışlıdır. Birçok F# kitaplık işlevi işlev değerlerini bağımsız değişken olarak alır ve bu durumlarda lambda ifadesi kullanmak özellikle kullanışlı olabilir. Aşağıdaki kod, bir listenin öğelerine lambda ifadesi uygular. Bu durumda anonim işlev listenin her öğesine 1 ekler.

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

Ayrıca bkz.