我正在尝试从
http://groovy.codehaus.org/JN2515-Closures开始尝试Groovy闭包递归示例.
我将片段保存在一个名为recursionTest.groovy的文件中并将其加载到shell中,但我得到了“没有签名方法错误”:
// recursionTest.groovy def results = []; { a,b -> results << a a<10 && call(b,a+b) }(1,1) assert results == [1,1,2,3,5,8,13] groovy:000> load recursionTest.groovy ===> [] ERROR groovy.lang.MissingMethodException: No signature of method: java.lang.Boolean.call() is applicable for argument types: (groovysh_evaluate$_run_closure1) values: [groovysh_evaluate$_run_closure1@6b7599cc] Possible solutions: wait(),any(),wait(long),and(java.lang.Boolean),each(groovy.lang.Closure),any(groovy.lang.Closure) at groovysh_evaluate.run (groovysh_evaluate:1) ... groovy:003>
这是怎么回事?