Понимание охвата Scala's для петель (для понимания)

StackOverflow https://stackoverflow.com/questions/2936809

  •  05-10-2019
  •  | 
  •  

Вопрос

В главе 3 Программирование Scala., Автор дает два примера для циклов / для пониманий, но переключается между использованием () и {}. Почему это дело, так как они по своей природе выглядят так, как будто они делают одно и то же? Есть ли причина 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)
Это было полезно?

Решение

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

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

Так для понимания с () and {} Одинаковые единственные, что изменение используется используется сепаратор: для () Вы должны использовать semicolon ";" как сепаратор и для {} ты используешь new line.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top