
Le espressioni sono un concetto importante e parte integrante del linguaggio di scripting JMP. Ma cos'è un'espressione? Beh, è una sezione di codice JSL che esegue un'operazione. Le espressioni JSL contengono dati, li manipolano e inviano comandi agli oggetti. Un'espressione può essere definita come qualsiasi combinazione di variabili, costanti, funzioni o operatori che possono essere valutati. Potrebbe essere semplicemente un numero o il nome di una variabile. Oppure potrebbe essere un intero script. È possibile memorizzare un'espressione in una variabile e JMP la valuta sempre immediatamente. Ora, in alcuni casi, potrebbe essere necessario ritardare la valutazione di un'espressione. Ritardare la valutazione consente di esaminare o modificare l'espressione prima che JMP la valuti. Quindi si utilizza la funzione Expr per ritardare la valutazione di un'espressione, con l'espressione stessa come unico argomento, e la funzione restituisce l'espressione non valutata, che può essere memorizzata in una variabile. Questa operazione è anche detta quotazione dell'espressione. L'azione corrispondente al ritardo della valutazione di un'espressione è la valutazione di tale espressione. Si utilizza la funzione Eval per valutare immediatamente l'espressione, con l'espressione stessa, o una variabile che la memorizza, come unico argomento. Questa funzione restituisce il risultato della valutazione dell'espressione. Questa operazione viene definita "ripristino delle virgolette" (unquoting). A volte, è necessario accedere a un'espressione tra virgolette senza valutarla. È possibile recuperare un'espressione senza valutazione utilizzando la funzione Name Expr, che restituisce l'espressione non valutata. Ad esempio, supponiamo di utilizzare la funzione Expr per memorizzare l'espressione volte nella variabile a. L'espressione viene memorizzata non valutata e restituita al log. Se si utilizza la variabile a nello script, JMP valuterà l'espressione che sta memorizzando. Se è necessario accedere all'espressione letterale memorizzata in a senza valutarla, si utilizza la funzione Name Expr con a come argomento. Bene, ora che sapete come ritardare la valutazione di un'espressione, vediamo perché potreste volerlo fare. Un motivo è per poter modificare l'espressione. È possibile modificare le espressioni tramite inserimento, rimozione o sostituzione, proprio come con le liste. Esistono molte funzioni che accettano espressioni come argomenti e le modificano. Ad esempio, supponiamo di assegnare alla variabile a. È possibile utilizzare la funzione Inserisci in per modificare tale espressione, aggiungendovi un argomento. Ad esempio, se si desidera aggiungere un fattore di all'espressione, si utilizza la funzione Inserisci in e si specifica a come primo argomento e come secondo argomento. Quindi, viene inserito nella funzione Moltiplica e l'espressione memorizzata in a diventa moltiplicata per moltiplicata.