Sdílet prostřednictvím


Výrazy lambda: Klíčové slovo fun (F#)

fun Klíčové slovo se používá k definování lambda výraz, který je anonymní funkce.

fun parameter-list -> expression

Poznámky

parameter-list Obvykle obsahuje názvy a volitelně typy parametrů.Obecněji řečeno parameter-list může skládat z jakékoli vzory F#.Úplný seznam možných vzorů, viz Porovnávání vzorů (F#).Seznam platných parametrů patří následující příklady.

// 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 Je tělo funkce, do poslední výraz generuje návratovou hodnotu.Následující příklady platné lambda výrazy:

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)

Použití Lambda výrazů

Lambda výrazy jsou zvláště užitečné, pokud chcete provádět operace v seznamu nebo jiné kolekce a chcete se vyhnout práce navíc při definování funkce.Mnoho funkcí knihovny F# získání hodnot funkce jako argumenty a může být zvláště vhodné použít lambda výrazy v těchto případech.Následující kód použije lambda výraz na prvky seznamu.V tomto případě anonymní funkce přidá 1 pro každý prvek seznamu.

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

Viz také

Referenční dokumentace

Funkce (F#)