Compartilhar via


Expressões lambda: a palavra-chave fun (F#)

A palavra-chave de fun é usado para definir uma expressão lambda, ou seja, uma função anônimo.

fun parameter-list -> expression

Comentários

parameter-list normalmente consiste de nomes e, opcionalmente, em tipos de parâmetros. Mais geralmente, parameter-list pode ser composta de todos os padrões de F#. Para obter uma lista completa dos padrões possíveis Correspondência padrão (F#), consulte. As listas de parâmetros válidos incluem os seguintes exemplos.

// 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 é o corpo da função, a expressão a mais recente de que gera um valor de retorno. Exemplos de expressões lambda válidos incluem o seguinte:

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)

Usando expressões Lambda

Expressões Lambda são especialmente úteis quando você deseja executar operações em uma lista ou outra coleção e para as queira evitar o trabalho adicional de definir uma função. Muitas funções de biblioteca de F# têm valores de função como argumentos, e pode ser conveniente principalmente em casos usar uma expressão lambda. O código a seguir aplica uma expressão lambda para elementos de uma lista. Nesse caso, a função anônimo adiciona 1 para cada elemento de uma lista.

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

Consulte também

Referência

Funções (F#)