如何在groovy中使用闭包来传递多个参数

  • 本文关键字:参数 闭包 groovy groovy closures
  • 更新时间 :
  • 英文 :


下面是我的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)