我在Groovy
中使用SoapUI
脚本列出了给定目录中的所有文件。我使用此代码过滤空文件。
dir.eachFileRecurse (FileType.FILES) {
if(file.length() > 0){file ->
list << file
}
}
我收到以下错误消息:
org.codehaus.groovy.control.MultipleCompilationErrorsException: 启动失败:Script8.groovy:16:期望'}',找到'->'@行 16,列29。if(file.length()> 0){file-> ^ org.codehaus.groovy.syntax.SyntaxException:期望为“}”,发现为“->” @第16行,第29列。 org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:143) 在 org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:111) 在org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:237) 在 org.codehaus.groovy.control.CompilationUnit $ 1.call(CompilationUnit.java:167) 在 org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:931) 在 org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:593) 在
答案 0 :(得分:3)
您不能在if
操作中使用闭包
应该是通常的代码块开始-
if(file.length() > 0){
list << file
}