我正在学习如何在Scala中编程,并被告知Scala中的分号是可选的.因此,考虑到这一点,我尝试使用以下嵌套的代码块,它没有半冒号.但是,它会在Scala REPL中引发错误
scala> { val a = 1
| {val b = a * 2
| {val c = b + 4
| c}
| }
| }
<console>:17: error: Int(1) does not take parameters
{val b = a * 2
Run Code Online (Sandbox Code Playgroud)
半结肠的样本工作得非常好.
scala> { val a = 1;
| { val b = a*2;
| { val c = b+4; c}
| }
| }
res22: Int = 6
Run Code Online (Sandbox Code Playgroud)
因此,在我看来,半结肠不是真正可选的,在某些情况下是强制性的.请问在什么情况下半结肠是强制性的?