下面是我的groovy代码,我想在groovy
闭包中传递多个参数package com.test.demo
def str = {'Yash' , 'deep'}
def merged = { println "$str world"}
merged.call()
这段代码给了我一个错误,请任何人给我一个解决方案,我怎么能传递多个参数在闭包在groovy
您的原始代码有两个问题:
{ 'Yash' , 'deep' }
并不意味着返回一个数组,但是这会提示错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/tmp/x.groovy: 2: Unexpected input: ',' @ line 2, column 19.
def str = {'Yash' , 'deep'}
所以你必须重写闭包为:
{['Yash' , 'deep']}
(注意[]
)
接下来,如果像这样打印闭包,就会得到引用打印-所以你需要调用它。
def merged = { println "${it()} world"}
def str = {['Yash' , 'deep']}
merged(str)