Sto provando a ridefinire i metodi dinamici di un dominio in groovy. C'è qualcosa di simile alias in rubino nel groovy?Come fare l'aliasing dei metodi in Groovy?
13
A
risposta
-1
Non ho visto questo in Groovy e non riesco a trovare nulla a riguardo.
Un modo per raggiungerlo sarebbe il modo ovvio ma povero.
def greet(name) {
println "Hello $name"
}
def sayHello(name) {
greet(name)
}
2
È possibile farlo usando metaprogramming:
MyClass.metaClass.aliasMethod = MyClass.metaClass.originalMethod
27
Vuoi dire come il metodo operatore di riferimento .&
?
def out = System.out.&println
out << "Hello"
e
def greet(name) {
println "Hello $name"
}
def sayHello = this.&greet
sayHello "Ronny"
È menzionato in http://groovy.codehaus.org/Operators ma un esempio manca
+0
Questo sembra avere problemi quando sottoclasse e l'utilizzo di farmaci generici. Ho 'Coppia
@rlovtang ha risposto alla domanda di cui sopra – sbglasius