Понимание объема на Scala для циклов (для понимания)

В Главе 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)

9
задан oxbow_lakes 27 July 2010 в 14:19
поделиться

1 ответ

Если вы читаете зеленый Совет:

для выражений могут быть определены с помощью круглыми скобками или фигурными скобками, но использование фигурные скобки означает, что вам не нужно разделять фильтры точкой с запятой. В большинстве случаев вы предпочтете использовать фигурные скобки, когда у вас есть несколько фильтров, присвоений и т.д.

Итак, для понимания () и {} одинаковы, единственное, что меняется - это используемый разделитель: для () вы должны использовать точку с запятой ";" в качестве разделителя, а для {} вы используете новую строку.

9
ответ дан 4 December 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: