相关疑难解决方法(0)

什么时候可以省略括号,点,大括号,=(函数)等的精确规则?

什么时候可以省略(省略)括号,圆点,大括号,=(函数)等的精确规则?

例如,

(service.findAllPresentations.get.first.votes.size) must be equalTo(2).
Run Code Online (Sandbox Code Playgroud)
  • service 是我的对象
  • def findAllPresentations: Option[List[Presentation]]
  • votes 回报 List[Vote]
  • 必须有规格的两种功能

为什么我不能去:

(service findAllPresentations get first votes size) must be equalTo(2)
Run Code Online (Sandbox Code Playgroud)

编译器错误是:

"类型为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中省略哪些字符?,这是省略'.'的唯一有效用例.是用于"操作数运算符操作数"样式操作,而不是用于方法链接?

syntax scala

101
推荐指数
3
解决办法
2万
查看次数

标签 统计

scala ×1

syntax ×1