Groovy闭包参数名称

Groovy闭包参数名称,groovy,parameters,closures,metadata,Groovy,Parameters,Closures,Metadata,我的结论如下: def check={x,y,z->some code} 是否可以在闭包中获取参数名称(“x”、“y”、“z”)? 并将其作为闭包代码的一部分 例如,打印参数名称,然后打印其值 谢谢您当然可以在闭包中使用这些参数 def a = {a, b, c -> a + b + c } assert 6 == a(1,2,3) 第二版 def a = {a, b, c -> [a:a, b:b, c:c] } assert [a:1, b:2, c:3] ==

我的结论如下: def check={x,y,z->some code}

是否可以在闭包中获取参数名称(“x”、“y”、“z”)? 并将其作为闭包代码的一部分

例如,打印参数名称,然后打印其值


谢谢

您当然可以在闭包中使用这些参数

def a = {a, b, c ->
    a + b + c
}
assert 6 == a(1,2,3)
第二版

def a = {a, b, c ->
    [a:a, b:b, c:c]
}
assert [a:1, b:2, c:3] == a(1,2,3)

当然,您可以在闭包中使用这些参数

def a = {a, b, c ->
    a + b + c
}
assert 6 == a(1,2,3)
第二版

def a = {a, b, c ->
    [a:a, b:b, c:c]
}
assert [a:1, b:2, c:3] == a(1,2,3)

当然这是可能的。我的问题是获取它们的名称,而不是它们的值。好的,为什么要使用这些值?为什么呢?我们也许可以找到另一种方法。我需要创建一个映射,其中键是arg名称,值是arg值。我在上面的代码中添加了“第二个版本”。请检查。当然这是可能的。我的问题是获取它们的名称,而不是它们的值。好的,为什么要使用这些值?为什么呢?我们也许可以找到另一种方法。我需要创建一个映射,其中键是arg名称,值是arg值。我在上面的代码中添加了“第二个版本”。请检查。在闭包内,你知道他们的名字。但是如果你想从闭包外部知道传递给它的所有参数以及它们的值,那么你不能这样做,我想在闭包中使用它们。例如:def check={x,y->println**arg1Name+x}执行此操作没有直接的方法。在闭包中你知道他们的名字。但是如果你想从闭包外部知道传递给它的所有参数以及它们的值,那么你不能这样做,我想在闭包中使用它们。例如:def check={x,y->println**arg1Name+x}执行此操作没有直接的方法。看见