
Bien, ahora hablemos de las variables. Puedes usar variables para almacenar valores que no son constantes entre las ejecuciones de un script. Estos valores pueden ser datos de cualquier tipo, estructuras de datos de cualquier tipo o referencias a otro objeto. A diferencia de muchos lenguajes de programación, las variables de JMP no necesitan declararse ni listarse al inicio del script, ni se limitan a almacenar ningún tipo de dato en particular. Por lo tanto, puedes asignar un nuevo valor a una variable existente en cualquier momento, y ese nuevo valor no tiene que ser del mismo tipo de dato o referencia que el valor anterior. Las variables también tienen un ámbito, que es el área y el tiempo definidos dentro de JMP donde están disponibles para su uso. El área donde una variable está disponible también se conoce como su espacio de nombres: el espacio donde ese nombre se asocia a un valor o referencia a un objeto en particular. Por defecto, las variables son globales, lo que significa que existen en el espacio de nombres global. Una variable global está disponible en cualquier lugar de JMP mientras exista la sesión actual de JMP. En otras palabras, las variables globales persisten hasta que se sale de JMP. Supongamos que crea una variable global, s, que almacena una suma calculada por su script. Cualquier script que se ejecute durante su sesión JMP actual tiene acceso a esa variable. Sin embargo, es importante tener en cuenta que si suele usar los mismos nombres de variable en varios scripts, como s para una suma o i para un contador, esos valores podrían entrar en conflicto. En otras palabras, puede que no desee que la variable s del segundo script sobrescriba el valor de la variable s del primero, pero si ambos scripts usan una variable global con el mismo nombre, eso es exactamente lo que ocurrirá, ya que no puede tener copias diferentes de la misma variable global. Por lo tanto, puede ser útil restringir el alcance de la variable para que solo esté disponible a un área limitada o por un tiempo limitado. Una forma de lograrlo es usar variables locales. Estas variables están restringidas a un espacio de nombres limitado, lo que significa que solo están disponibles temporalmente mientras se ejecuta una parte del script. La función Local se utiliza para crear variables locales, lo que puede ser una buena manera de administrar los nombres en los scripts y evitar conflictos en el espacio de nombres global. Otra alternativa al uso de variables globales es el espacio de nombres Here. Al usar la función Names Default to en el script, con un como argumento booleano, se crea un espacio de nombres Here único para cualquier script. Esto permite restringir el alcance de las variables a un script individual sin usar la función Local. Se pueden crear y administrar otros espacios de nombres según sea necesario, y JMP incluye otros espacios de nombres predefinidos además de los espacios Global, Here y Local.