最常见的调用没有括号

时间:2015-09-14 13:49:17

标签: scala scalatest infix-notation

为什么以下代码失败:

session.getGameId should be 10 

出现此错误

';' expected but integer literal found.

然而,这个没有失败

session.getGameId should be(10)

是否与调用apply方法

的方式有关

1 个答案:

答案 0 :(得分:2)

session.getGameId should be 10

装置

(session.getGameId).should(be).(10)

,而

session.getGameId should be(10)

装置

(session.getGameId).should(be(10))

显然,第一个无法编译,因为在此位置调​​用整数文字无效。如果您可以在Scala中省略括号和圆点,请参阅this question以获取进一步说明。