Lambda Ifadeleri: Fun anahtar sözcüğü (F#)Lambda Expressions: The fun Keyword (F#)

fun Anahtar sözcüğü bir lambda ifadesi, yani anonim bir işlev tanımlamak için kullanılır.The fun keyword is used to define a lambda expression, that is, an anonymous function.

SözdizimiSyntax

fun parameter-list -> expression

AçıklamalarRemarks

Parametre listesi genellikle ad ve isteğe bağlı olarak parametre türlerinden oluşur.The parameter-list typically consists of names and, optionally, types of parameters. Daha genel olarak, parametre listesi herhangi bir F# desenden oluşabilir.More generally, the parameter-list can be composed of any F# patterns. Olası desenlerin tam listesi için bkz. desen eşleştirme.For a full list of possible patterns, see Pattern Matching. Geçerli parametrelerin listeleri aşağıdaki örnekleri içerir.Lists of valid parameters include the following examples.

// 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 , bir dönüş değeri üreten son ifadesi olan işlevinin gövdesidir.The expression is the body of the function, the last expression of which generates a return value. Geçerli lambda ifadesi örnekleri şunları içerir:Examples of valid lambda expressions include the following:

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 kullanmaUsing Lambda Expressions

Lambda ifadeleri özellikle bir liste veya başka bir koleksiyon üzerinde işlemler gerçekleştirmek istediğinizde ve bir işlev tanımlamayı önlemek istediğinizde faydalıdır.Lambda expressions are especially useful when you want to perform operations on a list or other collection and want to avoid the extra work of defining a function. Birçok F# kitaplık işlevi işlev değerlerini bağımsız değişken olarak alır ve özellikle bu durumlarda bir lambda ifadesi kullanmak kullanışlı olabilir.Many F# library functions take function values as arguments, and it can be especially convenient to use a lambda expression in those cases. Aşağıdaki kod, bir listenin öğelerine bir lambda ifadesi uygular.The following code applies a lambda expression to elements of a list. Bu durumda, anonim işlev bir listenin her öğesine 1 ekler.In this case, the anonymous function adds 1 to every element of a list.

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

Ayrıca bkz.See also