Equivalent von eval () in Groovy

8

In Python kann ich eval () benutzen, um vom Benutzer eingegebenen Code in meinem Programm auszuführen. Kann ich etwas Ähnliches in Groovy machen? Ich möchte ein SWING-UI-Textfeld, in dem der Benutzer einen Codeabschnitt eingibt, den ich ausführen möchte?

Danke, Hari

    
Hari 16.07.2010, 10:43
quelle

3 Antworten

9

Es gibt mehrere Möglichkeiten, Groovy (sowohl in Java als auch in Groovy) auszuführen:

Ссылка

Die schnellste Methode (für einfache Skripte) ist wahrscheinlich die Verwendung der Eval-Klasse:

Ссылка

Was würde Sie etwas wie tun lassen:

%Vor%

Siehe diese Seite von mehr Beispielen:

Ссылка

    
tim_yates 16.07.2010, 10:52
quelle
4

Ja, es ist möglich, Code in Groovy dynamisch auszuwerten, indem Sie Eval.x, Eval.xy, Eval.xyz oder Eval.me verwenden. Weitere Informationen zu diesen Methoden finden Sie im API-Dokument .

Sie verwenden Eval.me beispielsweise so:

%Vor%

Siehe auch diesen Blogpost für einige Eval-Beispiele

    
Kai Sternad 16.07.2010 10:54
quelle
2

Versuchen Sie es (aber wie bei eval in jeder Skriptsprache üblich, seien Sie vorsichtig bei der Ausführung von bösartigem Code):

%Vor%     
Daff 16.07.2010 10:49
quelle

Tags und Links