motore di script senza ambiente globale (java)

3

Sono curioso di sapere come le variabili globali vengono gestite dai motori di script. Sto cercando un motore di script che non mantenga lo stato delle variabili globali al momento dell'invocazione. Ci sono questi motori là fuori? Stiamo cercando un linguaggio di scripting che possiamo usare sotto l'API del motore di script per Java.

Quando si effettuano più invocazioni di un motore di script, le chiamate di livello superiore al metodo eval () o evaluate () preservano lo stato delle variabili globali, il che significa che le chiamate conseguenti a eval () useranno le variabili globali come sono state lasciate da l'ultima invocazione. Esiste un motore di script che non conserva lo stato o che fornisce la possibilità di reimpostare lo stato, in modo che le variabili globali siano allo stato iniziale ogni volta che viene richiamato il motore di script?

    
posta user1886930 10.12.2012 - 18:02
fonte

1 risposta

1

Qualsiasi API per un motore di scripting che consente la creazione / smantellamento della macchina virtuale associata al motore fornisce ciò che stai cercando. Gli host di script creati per l'incorporamento in altri software fanno bene questo lavoro.

Lua è un host di scripting integrabile, e questo è ciò di cui parla @delnan - l'API consente l'istanziazione arbitraria di macchine virtuali che hanno ciascuno il proprio stato globale.

Ci sono modi per farlo in altri host di scripting (o meglio, macchine virtuali). A. Netto Common Language Runtime (CLR) può essere invocato e utilizzato in modo localizzato tramite l'interfaccia COM di Microsoft.

    
risposta data 22.12.2012 - 14:41
fonte

Leggi altre domande sui tag