Scala字符串连接问题

Mar*_*ler 4 scala

这是在我的代码中找到的一个相当难的错误,但是一旦我发现它我很惊讶编译器没有抓住它或理解为什么它是有效的.

val my_string =
    "abc" +
    "def"
    "ghi"
Run Code Online (Sandbox Code Playgroud)

my_string结束了"abcdef",因为我错过了+之后的标志"def".为什么编译器没有抱怨和发生了"ghi"什么?

sep*_*p2k 10

代码有效,因为"ghi"它本身就是一个有效的表达式.

如果这是在一个函数内(并没有其他任何东西),那么"ghi"该函数的返回值.否则它会被忽略(就像你自己写42 + 23一行一样).