2010-10-26 8 views

Respuesta

-1

No he visto esto en Groovy y no puedo encontrar nada al respecto.

Una forma de lograrlo sería la manera obvia pero pobre.

def greet(name) { 
    println "Hello $name" 
} 

def sayHello(name) { 
    greet(name) 
} 
+0

@rlovtang respondió a la pregunta anterior – sbglasius

2

Usted puede hacer que el uso de metaprogramming:

MyClass.metaClass.aliasMethod = MyClass.metaClass.originalMethod 
27

¿Quieres decir como el operador de referencia método .&?

def out = System.out.&println 
out << "Hello" 

y

def greet(name) { 
    println "Hello $name" 
} 

def sayHello = this.&greet 

sayHello "Ronny" 

Se menciona en http://groovy.codehaus.org/Operators pero un ejemplo es que falta

+0

Esto parece tener problemas cuando la subclasificación y el uso de los genéricos. Tengo 'Pair ' y 'Foo extiende el par '. Tengo 'T first' definido como una propiedad en' Pair'. En 'Foo', defina' public getBar = this. & GetFirst'. Si trato de usar as, 'Foo f = new Foo <> (1,10)', entonces 'f.getBar()' devuelve 'Closure '. ¿Alguna idea? – Snekse