Compartir a través de


Expresiones lambda: la palabra clave fun (F#)

La palabra clave fun se utiliza para definir una expresión lambda, es decir, una función anónima.

fun parameter-list -> expression

Comentarios

parameter-list normalmente consiste en nombres y, opcionalmente, tipos de parámetros.Más generalmente, parameter-list puede consistir en cualquier modelo de F#.Para obtener una lista completa de los modelos posibles, vea Coincidencia de modelos [F#].Las listas de parámetros válidos se incluyen los siguientes ejemplos.

// 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 es el cuerpo de la función, cuya última expresión genera un valor devuelto.A continuación se muestran algunos ejemplos de expresiones lambda válidas:

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)

Utilizar expresiones lambda

Las expresiones lambda resultan especialmente útiles cuando se desea realizar operaciones con una lista u otra colección y se desear evitar tener que definir una función.Muchas funciones de biblioteca de F# toman valores de función como argumentos; en estos casos puede resultar especialmente cómodo utilizar expresiones lambda.En el código siguiente se aplica una expresión lambda a los elementos de una lista.En este caso, la función anónima suma 1 a cada elemento de una lista.

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

Vea también

Referencia

Funciones (F#)