| 

.NET C# Java Javascript Exception

Methoden als Parameter übergeben?

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Methoden als Parameter übergeben?

mvonbihl - 20.10.2010 11:17
Hallo zusammen,

das Closures sog. first class values in Groovy darstellen ist mir bewusst.
Ist es auch möglich Methoden als Parameter von Methoden zu übergeben?

In etwa so:
def x(methode, anzahl) {
  anzahl.times { methode() }
}

x(println "x", 5)

Gruß und Dank im voraus.


Re: Methoden als Parameter übergeben?

badbadverybad - 20.10.2010 14:34
mvonbihl schrieb:
-------------------------------------------------------
> Ist es auch möglich Methoden als Parameter von
> Methoden zu übergeben?
def x(methode, anzahl) {
  anzahl.times { methode.invoke(this) }
}

def printlnFoo() {
    println "foo"
}

def method = this.class.getMethod("printlnFoo")
x(method, 5)
Ist das selbe, was Closure.call() letztendlich auch macht.

Aaaah, und ich hasse diese untypisierte Groovy-"Magie"! - Also, nachgereicht noch eine Erläuterung per JavaDoc:
/** 
* @see java.lang.Class#getMethod(String, Class[])
* @see java.lang.reflect.Method.invoke(Object, Object...)
*/


Re: Methoden als Parameter übergeben?

mvonbihl - 20.10.2010 15:27
Ahh vielen Dank, genau das habe ich gesucht.


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Methoden als Parameter übergeben?" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.