Questo codice:Utilizzo della funzione `Valuta`. Perché non funziona?
evaluate ("def test() { println \"Test is successful!\" }")
test()
risultati in eccezione:
FATAL: No firma del metodo: script1409644336796288198097.test() è applicabile per i tipi di argomento:() valori: [] Possibili soluzioni: usa ([Ljava.lang.Object;), getAt (java.lang.String), usa (java.util.List, groovy.lang.Closure), usa (java.lang.Class, groovy.lang.Closure), attendere(), attendere (lungo) groovy.lang.MissingMethodException: Nessuna firma del metodo: script1409644336796288198097.test() è applicabile per i tipi di argomenti:() valori: [] Possibili soluzioni: usare ([Ljava.lang.Object;), getAt (java.lang.String), usare (java.util.List, groovy.lang.Closure), usare (java.lang.Class, groovy.lang .Closure), attendere(), attendere (lungo) a org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap (ScriptBytecodeAdapter.java:55) ...
Quello che sto facendo di sbagliato?
Non pensa di poter definire metodi/variabili in un Gstring e quindi chiamarli al di fuori dell'ambito di quel GString. Cosa stai cercando di fare? Probabilmente c'è un modo migliore di farlo. – jk47
@ jk47, perché no? Ho bisogno di leggere una definizione del metodo dal file di testo ed eseguirla. – user626528
Vuoi scrivere un programma che legge in qualsiasi funzione arbitraria e poi lo esegue? Perché? – jk47