Verständnis Scope auf Scala For-Schleifen (für das Verständnis)
-
05-10-2019 - |
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)
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