2009-06-15 55 views
12

我不确定何时需要使用散点算子。如果我有一个列表,诸如:Groovy散点运算符

def animals = ['ant', 'buffalo', 'canary', 'dog'] 

因为无论animals和所述列表的成员具有的尺寸()方法,则为了具有调用上的列表中(而不是列表中的元素的方法本身),我需要使用:

animals*.size() 

而不是:

animals.size() 

然而,考虑下面的表达式返回可用T上的方法名称列表他String类

String.metaClass.methods.name 

如何Groovy的知识(不使用扩展点运算符),我希望从由String.metaClass.methods返回的列表中的每个元素检索name财产,而不是名单本身?有没有一套规则在这种情况下使用,例如:

  • 如果列表中存在方法/属性,调用它列出
  • 否则尝试调用它列表中的每个元素

谢谢, 唐

+0

Es magico。 – Randolpho 2009-06-15 17:37:43

回答