在Programming Scala的第 3 章中,作者给出了 for 循环 / for 推导式的两个示例,但在使用 () 和 {} 之间切换。为什么会出现这种情况,因为它们本质上看起来像是在做同样的事情?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)