
Las expresiones son un concepto importante y una parte integral del lenguaje de scripting JMP. Pero ¿qué es una expresión? Es una sección de código JSL que realiza una tarea. Las expresiones JSL almacenan datos, los manipulan y envían comandos a objetos. Una expresión puede definirse como cualquier combinación de variables, constantes, funciones u operadores que se puedan evaluar. Puede ser tan simple como un número o el nombre de una variable, o un script completo. Se puede almacenar una expresión en una variable, y JMP siempre evalúa las expresiones inmediatamente. Ahora bien, en algunos casos, es posible que se desee retrasar la evaluación de una expresión. Retrasar la evaluación permite examinar o modificar la expresión antes de que JMP la evalúe. Por lo tanto, se utiliza la función Expr para retrasar la evaluación de una expresión, siendo la expresión misma el único argumento, y la función devuelve la expresión sin evaluar, que se puede almacenar en una variable. Esto también se conoce como entrecomillar la expresión. La acción correspondiente a retrasar la evaluación de una expresión es evaluarla. La función Eval se utiliza para evaluar inmediatamente la expresión, con la expresión o una variable que la almacena como único argumento. Esta función devuelve el resultado de la evaluación de la expresión. Esto se conoce como descomponer la expresión. A veces, es necesario acceder a una expresión entrecomillada sin evaluarla. Se puede recuperar una expresión sin evaluarla mediante la función Name Expr, que devuelve la expresión sin evaluar. Por ejemplo, supongamos que se utiliza la función Expr para almacenar la expresión times en la variable a. La expresión se almacena sin evaluar y se devuelve al registro. Si se utiliza la variable a en el script, JMP evaluará la expresión que almacena. Si se necesita acceder a la expresión literal almacenada en a sin evaluarla, se utiliza la función Name Expr con a como argumento. Ahora que ya se sabe cómo retrasar la evaluación de una expresión, veamos por qué conviene hacerlo. Una razón es poder modificar la expresión. Se pueden cambiar expresiones mediante inserción, eliminación o sustitución, al igual que con las listas. Existen muchas funciones que toman expresiones como argumentos y las modifican. Por ejemplo, supongamos que asignas una variable a. Puedes usar la función Insertar en para modificar esa expresión añadiéndole un argumento. Por ejemplo, si quieres añadir un factor de a la expresión, usarías la función Insertar en y especificarías a como primer argumento y a como segundo. Luego, se inserta en la función Multiplicar, y la expresión almacenada en a se convierte en multiplicado por multiplicado.