Share via


Espressioni lambda: parola chiave fun (F#)

La parola chiave fun è utilizzata per definire un'espressione lambda, ovvero una funzione anonima.

fun parameter-list -> expression

Note

parameter-list in genere è costituito da nomi e, facoltativamente, tipi di parametri.Più in generale, parameter-list può essere composta da tutti i modelli di F#.Per un elenco completo di modelli possibili, vedere Criteri di ricerca [F#].Gli elenchi di parametri validi includono gli esempi seguenti.

// 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 -> …

L'elemento expression è il corpo della funzione, di cui l'ultima espressione genera un valore restituito.Di seguito sono illustrati alcuni esempi di espressioni lambda valide:

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)

Utilizzo di espressioni lambda

Le espressioni lambda sono particolarmente utili quando si desidera eseguire operazioni su un elenco o un'altra raccolta e si desidera evitare lavoro aggiuntivo legato alla definizione di una funzione.Numerose funzioni della libreria F# accettano valori di funzione come argomenti e in tali casi può essere particolarmente appropriato utilizzare un'espressione lambda.Nel codice seguente viene applicata un'espressione lambda agli elementi di un elenco.In questo caso, la funzione anonima consente di aggiungere 1 a ogni elemento di un elenco.

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

Vedere anche

Riferimenti

Funzioni (F#)