2009-06-15 57 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

回答