在 Groovy 中,下面的代码会生成所见的错误消息,就像 Java 一样(除了不同的引号和缺少分号)
assert false : 'If you see me, colons are allowed!'
这也会产生错误消息,但逗号将消息与 bool 表达式分隔开
assert false, 'If you see me, commas are allowed!'
我在 Groovy 文档中找不到任何相关内容,这是正确的行为吗?
您可以在 Groovy web console 上尝试此操作.
<小时/>我不是在问它是否允许逗号,显然似乎是这样,但我想知道我是否遗漏了文档中的某些内容,这是一个错误,或者只是没有记录.
最佳答案
两者都是有效的,正如您在 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 中看起来很有趣。
关于groovy - Groovy 是否应该允许用逗号分隔断言消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39855688/