Sprach-Konstrukte / Hot-Execution

Hot-Execution

JayMo-Befehle zur Laufzeit ausführen

Es ist relativ einfach, einen JayMo-Befehl zur Laufzeit auszuführen.

s = "( 3*9 ).print"
jaymo.exec( s )

Der Befehl wird hier über die magische Variable "jaymo" ausgeführt. Noch einfacher ist es, einen String direkt zu starten:

"Print 3*9".jaymo

Dies führt den JayMo-Befehl direkt aus.

Generell laufen solche Befehle innerhalb einer geschlossenen Umgebung und haben somit keinerlei Zugriff auf das laufende Programm.

a = 11
jaymo.exec( "a = 22; a.print" )
a.print

Unsichere Ausführung zur Laufzeit

Achtung:
Diese Funktion ist experimentiell und kann zu sehr unerwünschten Nebeneffekten führen!

Es ist auch möglich, zur Laufzeit direkten Einfluss auf das aktuell laufende Programm zu nehmen. So können Variablen-Werte verändert oder ganze Funktionen oder sogar Typen hinzugefügt werden.

Diese Funktion muss zuerst mit ">unsafeHotCode" freigeschaltet werden. Anschließend kann über die magische Variable "app" der Befehl ausgeführt werden.

>unsafeHotCode

app.exec( "a = 44; a.print" )
a.print

Hier wird nun zweimal die "44" ausgegeben. Die vorher nicht definierte Variable 'a' ist danach auch im laufenden Programm verfügbar!

- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €