Wyrażenia lambda: fun — Słowo kluczowe (F#)
fun Słowo kluczowe jest używana do definiowania wyrażenia lambda, to znaczy funkcją anonimową.
fun parameter-list -> expression
Uwagi
parameter-list Zazwyczaj składa się z nazwy i, opcjonalnie, typy parametrów.Mówiąc bardziej ogólnie parameter-list może składać się z wszelkich F# desenie.Aby uzyskać pełną listę możliwych desenie, zobacz Dopasowanie wzorca (F#).Przykładowe listy prawidłowych parametrów.
// 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 Jest zbiorem funkcji, ostatniego wyrażenia, którego generuje wartości zwracanej.Oto przykłady wyrażeń prawidłowy lambda:
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)
Za pomocą wyrażenia Lambda
Wyrażenia lambda są szczególnie przydatne, gdy użytkownik chce wykonywać operacje na listę lub innych kolekcji, bez dodatkowej pracy definiowania funkcji.Wiele funkcji biblioteki F# przyjmować wartości funkcji jako argumenty, i może być szczególnie wygodne użyć wyrażenia lambda w tych przypadkach.Poniższy kod dotyczy wyrażenia lambda elementy listy.W takim przypadku funkcja anonimowa dodaje 1 do każdego elementu listy.
let list = List.map (fun i -> i + 1) [1;2;3]
printfn "%A" list