Implicites Implicites

Un paramètre ou une méthode implicite est un élément défini avec le mot implicit qui est appelé automatiquement à certaines occasions sans devoir être spécifié explicitement.

1. Paramètres implicites Implicites:paramètres

Une méthode ou une classe peuvent prendre en paramètre un argument implicite. 

Prenons comme exemple une liste sur laquelle on applique la méthode sorted

Une nouvelle liste ordonnée est créée avec l’Ordering implicite contenu dans la classe String qui trie les éléments par ordre alphabétique.

val liste = List("blanc", "azur", "pourpre", "violet") 
// liste: List[String] = List(blanc, azur, pourpre, violet) 
 
liste.sorted 
// res161: List[String] = List(azur, blanc, pourpre, violet) 

On définit un implicit de type Ordering qui classe des String par taille croissante. Pour cela, on utilise la méthode by propre à Ordering qui permet d’appliquer une fonction anonyme avec la méthode length de String (voir chapitre Un aperçu du langage - Méthodes). Fonctions:anonymes

implicit val ordre: Ordering[String] = Ordering.by(_.length) 
// ordre: Ordering[String] = scala.math.Ordering$$anon$7@22ffd61f 
 
liste.sorted 
// res162: List[String] = List(azur, blanc, violet, pourpre) 

On peut aussi appeler cette méthode en renseignant directement...

couv_EPSCALA.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Future
Suivant
Exemple complet