省略(省略)括号、点、大括号、 = (函数)等等的确切规则是什么?
比如说,
(service.findAllPresentations.get.first.votes.size) must be equalTo(2).
service
is my objectdef findAllPresentations: Option[List[Presentation]]
List[Vote]
为什么我不能去:
(service findAllPresentations get first votes size) must be equalTo(2)
?
编译器错误是:
”RestServicesSpecTest.this.service.findAllPresentations 类别 选项[列表[ com.sharca. 简报]] 没有参数”
为什么它认为我要传递一个参数? 为什么我必须为每个方法调用使用点?
为什么 (service.findAllPresentations get first votes size)
必须等于(2)导致:
“未找到: 价值优先”
然而,“必须等于2”的
(service.findAllPresentations.get.first.votes.size)
必须等于2,也就是说,方法链工程细?-对象链链参数。
我浏览了 Scala 的书和网站,并没有找到一个全面的解释。
事实上,正如 Rob H 在 Stack Overflow 问题 Which characters can I omit in Scala?中解释的那样,省略‘的唯一有效用例是用于“ operand 操作符 operand”样式的操作,而不是用于方法链接?