arma_3:createurs_de_missions:sqf_for_noobs:variables

Ceci est une ancienne révision du document !


Les variables

“GOD is real, unless declared integer.”
Dans ce document, les abréviations i.e. et e.g. sont utilisées par convénience. I.e. signifie “id est” se traduisant par “c'est-à-dire” et e.g. signifie “exempli gratia” se traduisant par “par exemple”.

Dans la programmation, une variable est un conteneur. Elle porte un nom et sert à enregistrer un résultat, un message, etc. En SQF, une variable est affectée à une valeur avec le symbole =, e.g. my_var = 2;. Ici on affecte la variable de nom my_var à la valeur 2, si la variable n'existe pas déjà, le système la déclare (créée) automatiquement. Si dans la console arma je tape my_var + 1;, elle me retourne la valeur 3 (incroyable, je sais 8-)).

Dans certains language de programmation, la variable doit être déclarée explicitement par l'utilisateur comme Fortran, C, C++, Java, etc. Cela se fait grâce à un mot-clef.

Une variable possède un type, i.e. une indication à votre machine de comment interpréter sa valeur (qui est une suite de 0 et 1 pour votre ordinateur). Dans mon exemple, ma variable my_var est de type nombre et cela est déterminé automatiquement par le SQF. C'est ce qui a permit à la machine de faire l'addition my_var + 1;. Assignons une nouvelle valeur d'un autre type à notre variable, my_var = “2”;. Nous avons maintenant une chaine de caractère (ou String) qui permet de contenir du texte comme “Hello world” (Cela fonctionne aussi avec de simple quote 'Hello world'). Si on essaye d'additionner “2” + 1;, on obtient une erreur car pour le système on essaye d'additionner un caractère avec un nombre.

Remarquons que nous avons pu changer le type de variable en changeant sa valeur. On appelle cela le typage dynamique, i.e. c'est le language qui détermine le type de la variable. C'est le cas en SQF mais aussi dans des language comme Python, Javascript, etc. D'autres ont un typage statique (Fortran, C, etc). Si le deuxième cas semble restrictif il est bien plus facile de détecter les erreurs de typage. CHaque concept a donc son utilité.
Certains documents confondent typage statique avec le typage fort et le typage dynamique avec le typage faible. E.g. Python est un language de typage dynamique et fort, i.e. on ne peut pas additionner 1 + “1” car se sont deux types différents. À l'inverse, C possède un typage statique faible. Si on fait 1 + “1”, C fait une conversion implicite pour réaliser l'addition (i.e. faite par le système et non par l'utilisateur).

Ces types de variables sont communs à la majorité des langages de programmation (excepté le type nombre qui est un cas particulier), il désigne donc des concepts simples.

Les variables de type Number sont fait pour contenir des… nombres !

Les opérateurs comme l'addition +, la soustraction -, la multiplication *, la division /, la puissance ^, se comportent comme en math, on peut utiliser des parenthèses pour changer l'ordre de ces opérations.

Si vous vous souvenez j'ai dit
excepté le type nombre qui est un cas particulier

En effet, dans plusieurs langages de programmation on fait la différence entre entiers et les nombres réels. Cela est du que l'on peut représenter la valeur exacte d'un nombre entier mais très rarement celle d'un nombre réel. C'est du au fait que la mémoire dédié à une variable est limitée or certains nombre réels comme 1/3 ou pi sont infinis (la représentation en binaire joue aussi). On a donc souvent un type int (pour integer) et float (pour virgule flottante une représentation des nombres réels) dans d'autre langage.

Pourquoi je vous parle de cela ? Simplement que quand vous comparez deux nombres réels n'utilisez jamais l'égalité == car la représentation d'un nombre réel est très rarement exacte (donc votre condition ne risque pas d'être remplie).

En français, la chaîne de caractère. Ce type permet de contenir du texte et sert à l'affichage de message que se soit dans la console, le chat, le log, etc, e.g. “Hello world!”. On reconnait ce type car le texte est encadré par des apostrophes ou guillemets 'a' ou a“” (single ou double quotes en anglais). L'utilisation des guillemets permettant l'utilisation d'aspostrophe sans casser la chaine de caractère dans le message e.g. “Tanin, l'carnard boiteux”.
Votre message peut être vide “”.

  • arma_3/createurs_de_missions/sqf_for_noobs/variables.1651935950.txt.gz
  • Dernière modification: 2022/05/07 15:05
  • de admin