Expressões lambda: A diversão de palavra-chave (F#)

O fun palavra-chave é usada para definir uma expressão lambda, isto é, um anônimo função.

fun parameter-list -> expression

Comentários

O parameter-list consiste em nomes e, opcionalmente, os tipos de parâmetros. Exemplos de listas de parâmetros válidos incluem o seguinte:

fun a b c -> ...
fun (a: int) b c -> ...
fun (a : int) (b : string) (c:float) -> ...

O parameter-list podem ser compostos por qualquer F# padrões. Para obter uma lista completa dos padrões possíveis, consulte Padrões correspondentes (F#).

O expression é o corpo da função, a última expressão 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

As expressões lambda são especialmente úteis quando você deseja executar operações em uma lista ou a outra coleção e quiser evitar o trabalho extra de definir uma função. Muitas funções de biblioteca F# assumir a função valores como argumentos e pode ser conveniente principalmente usar uma expressão lambda nesses casos. O código a seguir se aplica a uma expressão lambda para elementos de uma lista. Nesse caso, a função anônima 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#)