OK, alors parlons maintenant des variables. Vous pouvez utiliser des variables pour stocker des valeurs qui ne sont pas constantes d'un script à l'autre. Ces valeurs peuvent être des données de n'importe quel type, des structures de données de n'importe quel type ou des références à un autre objet. Contrairement à de nombreux langages de programmation, les variables JMP n'ont pas besoin d'être déclarées ou répertoriées au début du script, et elles ne sont pas limitées au stockage d'un type de données particulier. Ainsi, vous pouvez affecter une nouvelle valeur à une variable existante à tout moment, et cette nouvelle valeur ne doit pas nécessairement être du même type de données ou de référence que l'ancienne valeur. Les variables ont également une portée, qui correspond à la zone et à l'heure définies dans JMP où elles peuvent être utilisées. La zone dans laquelle une variable est disponible est également connue sous le nom d'espace de noms - l'espace où ce nom est associé à une valeur particulière ou à une référence d'objet. Par défaut, les variables sont globales, ce qui signifie qu'elles existent dans l'espace de noms global. Une variable globale est disponible partout dans JMP tant que la session JMP en cours existe. En d'autres termes, les variables globales persistent jusqu'à ce que vous quittiez JMP. Supposons que vous créez une variable globale, s, qui stocke une somme calculée par votre script. Tout script qui s'exécute pendant votre session JMP en cours a accès à cette variable. Cependant, il est important de considérer que si vous avez tendance à utiliser les mêmes noms de variable dans plusieurs scripts, tels que s pour une somme ou i pour un compteur, ces valeurs peuvent entrer en collision les unes avec les autres. En d'autres termes, vous n'avez peut-être pas l'intention que le s du deuxième script écrase la valeur du s du premier script, mais si les deux scripts utilisent une variable globale portant le même nom, alors c'est exactement ce qui se passera, car vous pouvez 't avoir des copies différentes de la variable globale du même nom. Il peut donc être utile de restreindre la portée de la variable afin qu'elle ne soit disponible que pour une zone limitée ou pour un temps limité. Une façon d'y parvenir est d'utiliser des variables locales. Ce sont des variables qui sont limitées à un espace de noms limité, ce qui signifie qu'elles ne sont disponibles que temporairement pendant qu'une partie du script est en cours d'exécution. Vous utilisez la fonction Local pour créer des variables locales, et celles-ci peuvent être un bon moyen de gérer les noms dans vos scripts et d'éviter les collisions dans l'espace de noms global. Une autre alternative à l'utilisation de variables globales consiste à utiliser l'espace de noms Here. L'utilisation de Names Default pour fonctionner dans votre script, avec a comme argument booléen, crée un espace de noms Here unique pour n'importe quel script. Cela vous permet de limiter la portée des variables à un script individuel sans utiliser la fonction Local. Vous pouvez créer et gérer d'autres espaces de noms selon vos besoins, et JMP inclut d'autres espaces de noms prédéfinis en plus des espaces de noms Global, Here et Local.