func1 と func2 本体の違いは何ですか。どちらもコンパイルされますが、scala が func2 の複数のステートメントをどのように認識できるかわかりませんでした。ブレースが前にa =>
置かれていますが、ステートメントはその後にあります。
val func1: Int => Int = a => {
val b = a * 2
b + 2
}
val func2: Int => Int = { a =>
val b = a * 2
b + 2
}
これでもコンパイルします
val func3: Int => Int = { a => val b = a * 2; b + 2 }
しかし、これはそうではありません
val func4: Int => Int = a => val b = a * 2; b + 2