Frage

In Kapitel 3 des Programmierung Scala , gibt der Autor zwei Beispiele für Schleifen / für Comprehensions, aber schaltet zwischen der Verwendung von () 's und {}' s. Warum ist dies der Fall, da diese von Natur aus aussehen wie sie das Gleiche tun? Gibt es einen Grund breed <- dogBreeds ist auf der zweiten Zeile in Beispiel # 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)
War es hilfreich?

Lösung

Wenn Sie den grünen Tipp lesen:

für Ausdrücke können mit definiert werden Klammern oder geschweiften Klammern, aber unter Verwendung von geschweiften Klammern bedeutet, dass Sie nicht zu trennen Sie die Filter mit Semikolons. Die meiste Zeit, werden Sie es vorziehen, mit geschweiften Klammern, wenn Sie mehr als ein Filter, Zuordnung, etc.

So zum Verständnis mit () and {} gleich sind das einzige, was diese Änderung der Separator verwendet wird. Für () Sie einen semicolon ";" als Separator verwenden und für {} verwenden Sie new line

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top