我在 Mule 中有以下 Groovy 脚本。
import org.custommonkey.xmlunit.XMLUnit.*
def expected =
getClass().getResourceAsStream('/samples/in/request.xml').text
XMLUnit.setIgnoreWhitespace(true)
def documentDiff = DiffBuilder
.compare(expected)
.withTest(message.getInboundProperty('webServiceRequest'))
.withNodeFilter(node -> !node.getNodeName().equals('EffectiveDate'))
.build()
Run Code Online (Sandbox Code Playgroud)
出于某种原因,Groovy 抱怨“->”..
Script3.groovy: 10: unexpected token: -> @ line 10, column 34.
.withNodeFilter(node -> !node.getNodeName().equals(EffectiveDate))
Run Code Online (Sandbox Code Playgroud)
我不明白。我认为这在 Groovy 中没问题?我错过了什么吗?
小智 6
因为在这里:
.withNodeFilter(node -> !node.getNodeName().equals(EffectiveDate))
Run Code Online (Sandbox Code Playgroud)
是 Java8 中的 lambda 语法,目前 Groovy 的发布版本不支持它(应该包含在 Groovy 3 中);
而不是使用 Groovy 的 clojures:
.withNodeFilter { //code here }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2777 次 |
最近记录: |