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

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

Syntax

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# desenden biri olabilir. 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 list pattern.
fun head :: tail -> …

İfade, dönüş değeri oluşturan son ifade olan işlevinin gövdesidir. Geçerli lambda ifadelerinin örnekleri şunlardır:

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 liste veya başka bir koleksiyon üzerinde işlem gerçekleştirmek ve işlev tanımlamanın fazladan çalışmasını önlemek istediğiniz zaman 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 bir lambda ifadesi uygular. Bu durumda anonim işlev, bir listenin her öğesine 1 ekler.

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

Ayrıca bkz.