arma_3:createurs_de_missions:sqf_for_noobs:variables

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
arma_3:createurs_de_missions:sqf_for_noobs:variables [2022/05/07 15:09]
admin [Introduction]
arma_3:createurs_de_missions:sqf_for_noobs:variables [2022/05/07 15:40]
admin [Array]
Ligne 22: Ligne 22:
  
 <note warning> <note warning>
-Si vous vous souvenez j'ai dit +Si vous vous souvenez j'ai dit que le type nombre est un **cas particulier** ne retrouvant pas dans tous les langages.
-> 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).+Cela est du au fait que dans la plupart des langages de programmation on fait la différence entre entiers et les nombres réels. La raison est simplement technique : un nombre entier peut toujours être représenté de manière exacte (avec suffisamment de mémoire). C'est très rarement le cas pour les nombres réels, pensez à PI ou simplement la division 1/3 (nombres infinis après la virgule). La mémoire de notre ordinateur étant limité, on est obligé de tronquer la valeur du réel jusqu'à une certaine précision. On a donc souvent un type **int** (pour integer) et **float** (pour virgule flottante, une représentation des nombres réels) dans d'autres langages. 
 + 
 +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 (et votre égalité peut ne jamais être vraie).
 </note> </note>
 ==== String ==== ==== String ====
Ligne 32: Ligne 32:
 Votre message peut être vide ''""''. Votre message peut être vide ''""''.
 ==== Boolean ==== ==== Boolean ====
 +Le type booléen, dont son nom est une référence à George Boole (mathématicien), est une variable possédant la valeur **vraie** ou **faux**. Vous allez utiliser énormément se type de variable dans la structure de votre programme. Prenons un exemple simple :
  
 +Je compare 2 nombres et j'assigne le résultat à une variable : ''my_var = 20 < 40;''.
 +La réponse de cette comparaison est évidente, 20 étant inférieur à 40. Notre comparaison retourne donc la **true** (vrai en anglais) et notre conteneur ''my_var'' est une variable de type bool (booleen) contenant cette valeur.
 +Si on tape l'inverse ''my_var = 20 > 40;''. Cette fois-ci notre valeur est **false** (faux en anglais).
 +
 +Ce type est très utile pour contrôler le flux de votre programme (conditions et boucles).
 ===== Itérables ===== ===== Itérables =====
 +
 +Le mot itérable veut simplement dire que l'on va pouvoir parcourir le contenu de cette variable, i.e. on **itère** dessus.
 +De manière générale une variable itérable est une collection de valeur.
 ==== Array ==== ==== Array ====
 +Un array (tableau en français) est une collection **ordonnée** de valeur, i.e. que les valeurs sont toujours rangés dans le même ordre (sauf si le programmeur décide de changer l'ordre explicitement). Les valeurs à l'intérieur d'un array sont de n'importe quelle type (des nombres, strings, bool,... Et même d'autres arrays).
 +
 +Voyons un exemple : ''my_array = [0, 1, "deux", "3", []];''.\\
 +Nous avons ici un array avec 5 valeurs à l'intérieur avec des types différents. Les deux premières valeurs sont de type nombre, les deux suivantes sont de type string. La dernière est simplement un autre array qui lui ne contient aucune valeur, on dit qu'il est vide (puisque c'est le cas) mais il existe bel et bien.
 +
 +J'imagine que vous avez compris en voyant cet exemple qu'un array est symbolisé par des crochets [] et que les éléments à l'intérieur sont séparés par des virgules.
 ==== Hashmap ==== ==== Hashmap ====
  
  • arma_3/createurs_de_missions/sqf_for_noobs/variables.txt
  • Dernière modification: 2022/10/02 15:10
  • de admin