Каковы точные правила, когда вы можете опустить (опустить) круглые скобки, точки, фигурные скобки, = (функции) и т.д.?
Например,
(service.findAllPresentations.get.first.votes.size) must be equalTo(2).
-
service
- мой объект -
def findAllPresentations: Option[List[Presentation]]
-
votes
возвращаетList[Vote]
- должны и должны быть функциями спецификаций
Почему я не могу пойти:
(service findAllPresentations get first votes size) must be equalTo(2)
?
Ошибка компилятора:
"RestServicesSpecTest.this.service.findAllPresentations типа Опция [Список [com.sharca.Presentation]] не принимает параметры"
Почему я думаю, что пытаюсь передать параметр? Почему я должен использовать точки для каждого вызова метода?
Зачем нужно (service.findAllPresentations get first votes size)
быть равным. (2):
"не найден: значение сначала"
Тем не менее, "должно быть равно 2"
(service.findAllPresentations.get.first.votes.size)
должно быть равно 2, т.е. метод цепочки работает нормально? - параметр цепочки цепочек цепочки объектов.
Я просмотрел книгу и веб-сайт Scala и не могу найти исчерпывающего объяснения.
На самом деле, как объясняет Роб Х в вопросе Какие символы можно опустить в Scala?, что единственный допустимый прецедент для исключения '.' для операций стиля операнда операнда, а не для цепочки методов?