9

Programming Scalaの第 3 章で、著者は for ループと for 内包表記の 2 つの例を示していますが、() と {} の使用を切り替えています。これらは本質的に同じことをしているように見えるのに、なぜそうなるのでしょうか? 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)
4

1 に答える 1

9

緑のヒントを読んだ場合:

for 式は括弧または中かっこで定義できますが、中かっこを使用すると、フィルターをセミコロンで区切る必要がないことを意味します。ほとんどの場合、複数のフィルターや割り当てなどがある場合は、中括弧を使用することをお勧めします。

したがって、理解のため() and {}に同じであるのは、使用されるセパレーターのみが変更される()ことです。semicolon ";"{}new line

于 2010-05-29T23:40:53.587 に答える