Проблема синтаксиса метода Scala - PullRequest
0 голосов
/ 23 мая 2011

Я изучаю скалу и сталкиваюсь с небольшой проблемой. Я хочу использовать метод String stripMargin следующим образом. Но я не могу добавить скобки на этот метод. Я помню, что скобки метода без аргументов не являются обязательными, поэтому здесь я не могу добавить скобки?

val str=""" hello world
    |" ANd soe"
    |" to world"""

println(str.stripMargin())  // won't compile
println(str.stripMargin)  // compiles successfully

1 Ответ

4 голосов
/ 23 мая 2011

Если метод без параметров определен с (), тогда запись () необязательна. Если метод определен без (), то добавление () недопустимо (или, скорее, интерпретируется как если бы вы вызывали apply() для возвращенного результата).

Хорошая практика рекомендует определять метод без побочных эффектов без () и сохранять () как на сайте определения, так и на сайте вызова, когда он имеет побочные эффекты.

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