Expressions lambda : mot clé fun (F#)
Le mot clé fun est utilisé pour définir une expression lambda, c'est-à-dire une fonction anonyme.
fun parameter-list -> expression
Notes
parameter-list se compose en général de noms et, éventuellement, des types de paramètres.Plus généralement, parameter-list peut être composé de tous les modèles F#.Pour obtenir la liste complète des modèles possibles, consultez Critères spéciaux (F#).Les listes de paramètres valides incluent les exemples suivants.
// 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 constitue le corps de la fonction, dont la dernière expression génère une valeur de retour.Voici quelques exemples d'expressions lambda valides :
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)
Utilisation d'expressions lambda
Les expressions lambda sont particulièrement utiles lorsque vous voulez exécuter des opérations sur une liste ou une autre collection sans définir de fonction.De nombreuses fonctions de bibliothèque F# acceptent des valeurs de fonction comme arguments ; dans ces cas, il peut s'avérer judicieux d'utiliser une expression lambda.Le code suivant applique une expression lambda aux éléments d'une liste.Dans ce cas, la fonction anonyme ajoute 1 à chaque élément d'une liste.
let list = List.map (fun i -> i + 1) [1;2;3]
printfn "%A" list