Aller au contenu

Simscript III/Dictionnaire des instructions/CREATE

Un livre de Wikilivres.

L’énoncé create alloue une zone mémoire pour les attributs d’un exemplaire spécifié d’une entité temporaire, et assigne un pointeur à cette zone mémoire. De plus, tous les attributs sont initialisés à zéro

Syntaxe :


Entité_Temporaire a été être déclaré dans le preamble (par un "every"..., sous la rubrique temporary entities).

Attention, très important : si "called Variable_Pointeur" est omis, le pointeur de l’entité est mis dans une variable globale (de type entier) de même nom que l’entité. C’est le cas le plus courant. On manipule alors les attributs de l’entité/objet en faisant référence à cette variable (simplicité d’écriture); par exemple :


create a Paquebot
...
...
if Coque(Paquebot) <> "BONNE"
	call Naviguer ;
endif
...

Mais, si entre le "create" et le "if" d’autres bateaux sont créés, le test portera sur le dernier Bateau créé. D’où l’existence de la "forme longue" :

dans laquelle France_II sera une variable entière (pointeur), éventuellement indicée, le plus souvent locale, qui contiendra le pointeur de l’entité que l’on vient de créer. Ce cas ne se produit en fait que lorsqu’on doit manipuler plusieurs exemplaires d’une même entité temporaire dans une même routine, ce qui est rare...