В Главе 3 Программирования Scala автор дает два примера для циклов / для пониманий, но переключается между использованием () и {}'s. Почему имеет место это, поскольку они по сути похожи, они делают то же самое? Есть ли причина breed <- dogBreeds
находится на 2-й строке в примере № 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)
Если вы читаете зеленый Совет:
для выражений могут быть определены с помощью круглыми скобками или фигурными скобками, но использование фигурные скобки означает, что вам не нужно разделять фильтры точкой с запятой. В большинстве случаев вы предпочтете использовать фигурные скобки, когда у вас есть несколько фильтров, присвоений и т.д.
Итак, для понимания () и {}
одинаковы, единственное, что меняется - это используемый разделитель: для ()
вы должны использовать точку с запятой ";"
в качестве разделителя, а для {}
вы используете новую строку
.