groovy 脚本中的语法错误 - 哪里出了问题?

Syntax error in groovy script - what is wrong?

我正在尝试在我的 elasticsearch dsl 脚本中执行以下 groovy 脚本片段:

[doc['availabilities.start'], doc['availabilities.end']].transpose().any { (start, end) -> end.date.getMillis() >= 11 } return 2; ```

这会引发以下错误

我是 Groovy 的新手,无法弄清楚这里的错误语法是什么。任何帮助将不胜感激。

Groovy 没有在闭包参数周围使用括号,所以应该是

.any { start, end -> end.date.getMillis() >= 11 }

最后的return 2;丢弃了前面表达式的结果,我不确定那是不是你的意图。