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
Problemi correlati
- 1. Groovy: chiusure o metodi
- 2. Il modo Groovy di fare la corrispondenza dei valori?
- 3. Utilizzando Groovy metaclasse sovrascrivere Metodi
- 4. Come faccio a fare riferimento all'istanza GroovyObject dai metodi MetaClass in Groovy?
- 5. Groovy Metodi deprecato e Eclipse - sorta
- 6. Come utilizzo l'overloading dei metodi in Python?
- 7. Simbolo Groovy @ prima dei campi
- 8. In che modo Groovy aggiunge nuovi metodi alle classi Java?
- 9. Ambito dei metodi anonimi
- 10. Come posso ottenere javadocs/groovydocs per i metodi groovy in un progetto IntelliJ IDEA Grails?
- 11. Vararg in overloading dei metodi in Java
- 12. Codice sandboxing Java/Groovy/Freemarker - Prevenzione dell'esecuzione di metodi specifici
- 13. Tabelle dei metodi virtuali
- 14. Risoluzione dei problemi Grails/Groovy memory leaks?
- 15. Perché Scala sfugge agli spazi nei nomi dei metodi?
- 16. Sovrascrittura dei metodi privati in Java
- 17. Equivalente dei metodi anonimi C# in Java?
- 18. Come determinare il conteggio dei metodi dell'applicazione?
- 19. Come documentare le eccezioni dei metodi asincroni?
- 20. Legenda dei nomi dei metodi booleani Python
- 21. Meta-programmazione Groovy - aggiunta di metodi statici a Object.metaClass
- 22. Best practice: C# Spazio dei nomi dei metodi di estensione e promozione dei metodi di estensione
- 23. Come sovraccarico l'operatore in in Groovy?
- 24. jenkins script console: elenco dei metodi disponibili di jenkins?
- 25. PHPdoc: documentazione dei metodi concatenabili?
- 26. Ordinamento dei valori delle mappe in ordine decrescente con Groovy
- 27. Come codificare l'URL in Groovy?
- 28. Confronto dei metodi di somma in C#
- 29. Scopo dei metodi pubblici NonAction in MVC
- 30. Comportamento dei metodi Bang Array
@rlovtang ha risposto alla domanda di cui sopra – sbglasius