Groovy应该允许逗号分隔断言消息吗?

时间:2016-10-04 15:01:02

标签: groovy

在Groovy中,下面会生成看到的错误消息,就像Java一样(除了不同的引号和缺少分号)

assert false, 'If you see me, commas are allowed!'

这也会产生错误消息,但逗号将消息与布尔表达式

分开
  AdMob.createBanner( {
    adId: admobid.banner,
    position: AdMob.AD_POSITION.BOTTOM_CENTER,
    isTesting: true, // TODO: remove this line when release
    overlap: false,
    offsetBottomBar: true,
    offsetTopBar: false
  } );

我在Groovy文档中找不到任何相关内容,这是正确的行为吗?

您可以在Groovy web console上尝试此操作。

我不知道是否允许使用逗号,显然它似乎是,但我想知道我是否遗漏了文档中的内容,这是一个错误,或者如果它没有记录。

1 个答案:

答案 0 :(得分:5)

两者都有效,您可以在antlr grammar file for Groovy

中看到
|   "assert"! assertAle: assignmentLessExpression!
    (   options {greedy=true;} :
        (   COMMA! nls! // TODO:  gratuitous change caused failures
        |   COLON! nls! // standard Java syntax, but looks funny in Groovy
        )
        assertE:expression[0]!
    )?

似乎添加了逗号语法,因为冒号语法(Java)在Groovy中看起来很有趣。