48 votes

Pourquoi foreach est-il meilleur que get pour les options Scala ?

Pourquoi l'utilisation de foreach , map , flatMap etc. est considérée comme meilleure que l'utilisation de get pour les options Scala ? Si j'utilise isEmpty je peux appeler get toute sécurité.

22voto

Dylan Points 5887

Une bonne raison d'utiliser foreach est d'analyser quelque chose avec des options imbriquées. Si vous avez quelque chose comme

 val nestedOption = Some(Some(Some(1)))
for {
  opt1 <- nestedOption
  opt2 <- opt1
  opt3 <- opt2
} println(opt3)

La console imprime 1 . Si vous étendez cela à un cas où vous avez une classe qui stocke facultativement une référence à quelque chose, qui à son tour stocke une autre référence, les compréhensions vous permettent d'éviter une "pyramide" géante de vérification Aucun/Certain.

19voto

Landei Points 30509

Il existe déjà d'excellentes réponses à la question réelle, mais pour plus de Option -foo, vous devriez certainement consulter la feuille de triche Option de Tony Morris .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X