Aracılığıyla paylaş


Lambda ifadeleri: Eğlenceli anahtar sözcüğü (F#)

fun Anahtar sözcüğünü lambda ifadesi, başka bir deyişle, anonim bir işlevi tanımlamak için kullanılır.

fun parameter-list -> expression

Notlar

parameter-list Genellikle adları ve parametre türlerini, isteğe bağlı olarak oluşur. Daha genel tanımıyla parameter-list herhangi bir F# desenlerini oluşturulmuş olabilir. Olası desenleri tam listesi için bkz: Desen eşleştirme (F#). Geçerli parametrelerin listesi örnek olarak şunlar gösterilebilir.

// 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 Gövdesi işlevinin dönüş değeri, son ifade oluşturur. Geçerli lambda ifadeleri ö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 ifadeleri kullanma

Lambda ifadeleri, bir liste veya diğer toplama işlemleri gerçekleştirmek ve bir işlevi tanımlayan ek iş önlemek istiyorsanız istediğinizde özellikle yararlıdır. Birçok F# kitaplığı işlevleri bağımsız değişkenler olarak işlev değerlerini alabilir ve bu gibi durumlarda lambda ifadesi kullanmak özellikle kullanışlı olabilir. Aşağıdaki kod bir lambda ifadesi bir liste öğelerine uygulanır. Bu durumda anonim işlev 1 her bir liste öğesine ekler.

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

Ayrıca bkz.

Başvuru

İşlevler (F#)