Проблема конкатенации строк в Scala - PullRequest
4 голосов
/ 10 ноября 2010

Эту ошибку было довольно сложно найти в моем коде, но как только я ее нашел, я был удивлен, что компилятор не уловил ее и не понял, почему она действительна.

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

Значение my_string в итоге составило "abcdef", так как я пропустил знак + после "def". Почему компилятор не жаловался и что случилось с "ghi"?

Ответы [ 2 ]

10 голосов
/ 10 ноября 2010

Код действителен, потому что "ghi" само по себе является допустимым выражением.

Если это внутри функции (и за ней ничего не следует), тогда "ghi" - это возвращаемое значение этой функции. В противном случае он просто игнорируется (как если бы вы написали 42 + 23 в отдельной строке).

1 голос
/ 10 ноября 2010

"ghi" - это просто выражение типа String, почему компилятор должен жаловаться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...