Vous avez peut-être déjà déclaré des variables dans un script header afin de pouvoir les utiliser dans n'importe quel autre script (qui se trouve bien sûr
plus bas que votre script header).
Et si vous avez été consciencieux, vous avez suivi les recommandations qui consistent à n'y déclarer que des importations.
Tout au plus, vous aurez également placé quelques structures dans ces scripts headers, pour pouvoir manipuler des variables du type qui vous intéresse partout où vous en avez besoin.
Mais vous êtes-vous déjà demandé pourquoi s'ennuyer à importer des variables dans le script header, que l'on a
au préalable exportées dans le corps du script, alors qu'on pourrait carrément les
définir dans le script header. Elles seraient alors accessibles à la fois dans le script correspondant et dans les autres scripts qui se situent plus bas.
La différence tient en la localité des scripts headers : ce que vous y écrivez est
copié dans tous les autres scripts.
Si vous y placez une
importation, vous aurez donc une ligne de type
import int ScoreGlobal dans
tous vos scripts, et ces lignes fonctionneront de manière conjointe avec votre ligne
export ScoreGlobal que vous aurez placée à la fin du script où la variable
ScoreGlobal est définie.
Mais si vous placez une
définition de type
int ScoreGlobal dans un script header,
tous vos scripts se trouveront avec une définition de variable
locale se nommant
ScoreGlobal. Car, comme on vient de le voir, la ligne est
copiée dans chaque script, et les déclarations sont donc indépendantes les unes des autres. Ainsi, lorsque vous ferez référence à
ScoreGlobal dans un script, vous ne ferez pas référence à la même variable que dans un autre script. Et si vous la modifiez dans un script, elle ne sera pas modifiée dans les autres : ce sont des variables
distinctes.
Voilà l'intérêt d'utiliser les mots-clés
import et
export, mais on peut également tirer profit de cette localité. En effet, si vous êtes sûr de devoir utiliser une variable d'un même nom pour chaque pièce, mais qui doit être locale à chaque pièce, alors une déclaration pure et simple,
sans mot-clé import, pourra s'avérer utile.
Le tout est donc d'être très attentif.