Option Option

1. Définition

Comme son nom l’indique, la classe typée Option est utilisée pour des valeurs optionnelles. Un objet de ce type peut avoir deux valeurs possibles :

  • Some(x), où x est la valeur existante.

  • None, dans le cas où la valeur est manquante.

Ce type est souvent utilisé dans les opérations classiques des collections Scala, comme par exemple pour accéder à un élément d’une Map avec la méthode get.

Prenons comme exemple une Map[String, Int] associant un nom d’animal à un nombre.

val animauxMap = Map("chat" -> 4) 
// animauxMap: Map[String, Int] = Map("chat" -> 4) 

Si on appelle la méthode get sur cette variable avec l’argument "chat”, on obtient une Option[Int] non vide.

animauxMap.get("chat") 
// res59: Option[Int] = Some(4) 

Si on appelle la méthode get sur cette variable avec l’argument "chien”, on obtient une Option[Int] vide, autrement dit, None.

animauxMap.get("chien") 
// res60: Option[Int] = None 

Pour créer une Option à partir d’un objet non nul, il suffit d’utiliser la case class Some qui étend la classe Option suivie de la valeur non nulle.

val optionDefinie = Some(12) 
// optionDefinie: Some[Int] = Some(12) 

Pour savoir si une Option est définie ou vide, on utilise les méthodes isDefined et isEmpty.

optionDefinie.isDefined 
// res61: Boolean = true 
 ...
couv_EPSCALA.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Pattern matching
Suivant
Expressions régulières