Fonctions Fonctions

1. Définition

Une fonction est une expression qui prend en entrée des arguments et renvoie un résultat. Elle est semblable à une méthode mais c’est un objet et elle peut donc être manipulée de façon différente.

Pour définir une fonction, on utilise la syntaxe (t: T) => ???. La partie gauche correspond aux arguments du type désiré et la partie droite aux opérations effectuées sur ces paramètres.

La fonction est alors un objet de type T => UU est le type de l’objet retourné dans la partie de droite. Une fonction peut prendre un, aucun ou plusieurs arguments.

Exemple de fonction à un argument

Prenons comme exemple une fonction qui multiplie un Int par 1.2.

val fonctionUnArg = (i: Int) => i * 1.2 
// fonctionUnArg: Int => Double = <function>785a95b 

Sans spécifier son type de retour, il est automatiquement inféré à Double par le compilateur.

Exemple de fonction à deux arguments

Prenons comme exemple une fonction qui multiplie un Int à un Double. Le résultat par défaut sera un Double.

val fonctionDeuxArg = (i: Int, j: Double) => i * j 
// fonctionDeuxArg: (Int, Double) => Double = <function>25521b7 

On peut forcer le type de retour à BigDecimal et compter sur la conversion entre le type Double et BigDecimal. Le type de retour spécifié prévaut sur le type inféré...

couv_EPSCALA.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Exemple complet
Suivant
Fonctions pures