Question

Dans le chapitre 3 de Programmation Scala, l'auteur donne deux exemples de pour boucles / pour compréhensions, mais passe entre l'utilisation () 's et {} s. Pourquoi est-ce le cas, car ceux-ci regard par nature comme ils font la même chose? Y at-il une raison breed <- dogBreeds est sur la 2ème ligne dans l'exemple # 2?

// #1 ()'s
for (breed <- dogBreeds
  if breed.contains("Terrier");
  if !breed.startsWith("Yorkshire")
) println(breed)

// #2 {}'s
for {
  breed <- dogBreeds
  upcasedBreed = breed.toUpperCase()
} println(upcasedBreed)
Était-ce utile?

La solution

Si vous lisez le vert Astuce:

  

pour les expressions peut être définie   parenthèses ou accolades, mais en utilisant   accolades signifie que vous ne devez pas   séparer vos filtres avec des points-virgules.   La plupart du temps, vous préférez utiliser   accolades quand vous avez plus de   un filtre, affectation, etc.

Donc, pour la compréhension avec () and {} sont les mêmes, la seule chose que le changement est le séparateur utilisé. Pour () vous devez utiliser un semicolon ";" comme séparateur et {} vous utilisez new line

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top