分号是表达式之间的分隔符,可以推断得出。当一行结束时,Scala就认为表达式结束了,除非它可以推断出该表达式尚未结束,应该延续到下一行,如下面这个例子:
与编译器相比,REPL更容易将每行视为单独的表达式。因此,在REPL中输入跨越多行的表达式时,最安全的做法是每行(除最后一行外)都以上述脚本中出现过的符号结尾。反过来,你可以将多个表达式放在同一行中,表达式之间用分号隔开。
如果你需要将多行代码解释为同一表达式,却被系统视为多个表达式,可以使用REPL的:paste模式。输入:paste,然后输入你的代码,最后用Ctrl-D结束。