2009-08-31 9 views
38

Jak wywołać metodę opartą na wartości łańcucha w Groovy? Na przykład zamiastnazwa wywołania metody zawartej w łańcuchu znaków

switch (val) { 
case "one": 
    Obj.one() 
    break 
case "two": 
    Obj.two() 
    break 
} 

chciałbym zrobić coś takiego obj.val gdzie val zawiera zarówno „jeden” lub „dwa” zamiast instrukcji case.

Odpowiedz

78

Dynamic method invocation wygląda następująco

obj."$val"() 
+5

Podany link jest martwy. Ten może obejmować temat: http://www.groovy-lang.org/metaprogramming.html#_dynamic_method_names – chrish

Powiązane problemy