Scala字符串连接问题

时间:2010-11-10 16:09:23

标签: scala

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

val my_string =
    "abc" +
    "def"
    "ghi"

my_string的价值最终为"abcdef",因为我在+之后错过了"def"符号。为什么编译器没有抱怨以及"ghi"发生了什么?

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:1)

“ghi”只是String类型的表达式,编译器为什么要抱怨?