什么时候可以省略括号,点,大括号,=(函数)等的精确规则?
什么时候可以省略(省略)括号,圆点,大括号,=(函数)等的精确规则?
例如,
(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)
?
编译器错误是:
“类型为Option [List [com.sharca.Presentation]]的RestServicesSpecTest.this.service.findAllPresentations不带参数”
为什么它认为我试图传递一个参数?为什么我必须为每个方法调用使用点?
为什么必须(service.findAllPresentations get first votes size)
相等Too(2)导致:
“没找到:价值第一”
然而,“必须等于2” (service.findAllPresentations.get.first.votes.size)
必须等于2,即方法链是否正常? - 对象链链链接。
我查看了Scala的书籍和网站,无法找到全面的解释。
事实上,正如Rob H在Stack Overflow问题中解释的那样,我可以在Scala中省略哪些字符?,这是省略'。'的唯一有效用例。是用于“操作数运算符操作数”样式操作,而不是用于方法链接?
阿波罗的战车
相关分类