est-il possible de charger le code d'une fermeture d'une chaîne (pouvant provenir d'un fichier) à Groovy? P>
3 Réponses :
Si vous voulez dire quelque chose comme: n °. p> Cependant, il semble être évalué () peut être une option dans ce cas:
http: //groovy.329449.n5.nébateux .com / création-fermeture-from-string-instance-td343089.html p> p>
Cela devrait fonctionner, pas sûr s'il s'agit de la solution la plus élégante:
ClassLoader parent = getClass().getClassLoader()
GroovyClassLoader loader = new GroovyClassLoader(parent)
Class groovyClass = loader.parseClass("class ClosureHolder {def closures = [{ println 'hello world!' }]}")
def allTheClosures = groovyClass.newInstance()
allTheClosures.closures.each {
it()
}
Avez-vous voulu dire quelque chose comme ça?
Si vous cherchez simplement à évaluer une chaîne (la question est un peu vague), c'est très similaire à Stackoverflow.com/Questtions/3264014/...
Plusieurs solutions que vous pouvez trouver ici: Stackoverflow.com/questions/36771508/...