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!