2016-05-31 41 views
1

我有以下的关闭: 高清检查= {X,Y,Z - >一些代码}的Groovy闭包参数的名称

是否有可能得到的参数名称( “X”, “Y”,” z“)在关闭? 并将其用作关闭代码的一部分

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

谢谢

+0

内关闭你知道他们的名字。但是如果来自封闭外部,你想知道所有参数都传递给它以及它们的价值,那么你不能那样做。 –

+0

我想在封闭内使用它们。例如:def check = {x,y - > println ** arg1Name + x} – roh

+0

这样做没有直接的方法。见http://stackoverflow.com/q/4114190/1799527 –

回答

-1

你可以使用闭包中的这些参数。

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) 
+1

当然这是可能的。 我的问题是得到他们的**名称**而不是他们的值。 – roh

+0

好的,你为什么要使用这些值? 和什么?我们可以找到另一种方式。 – koji

+0

我需要创建一个映射,其中的关键是参数名称和值是参数值 – roh