Une variable est un emplacement mémoire dans lequel on va ranger des données.
( comme par exemple, les tiroirs d'une commode empilés les uns sur les autres. )
Chaque emplacement mémoire ( tiroir donc ) possède une adresse qui lui est propre et dans lequel vous ne pouvez ranger que 8 bits.
Adresses sur 32 bits | Valeurs sur 8 bits |
0000...0000 | 01011001 |
0000...0001 | 11010111 |
0000...0010 | 00101110 |
Pour pouvoir ranger plus que 8 bits, il faudra utiliser plus d'emplacement mémoire, sachant que le nombre d'emplacements est fonction du nombre d'adresses disponibles qui dépend du CPU et de l'OS.
Pour valoriser 16 bits, on utilisera 2 cases mémoires sur la même adresse, 3 pour 24 bits et 4 cases mémoires pour mémoriser par exemple, une adresse de 32 bits...
Adresses sur 32 bits | Valeurs sur 8 bits |
0000...0000 | 01011001 |
11010111 | |
0000...0010 | 00101110 |
11100101 | |
00111011 | |
FFFF...FFFF | 10101010 |
Afin de permettre un suivi et une reconnaissance de ces variables, vous allez leur donner un nom.
( comme un étiquetage de chaque tiroir. )
maVariable = x
LUA utilise la non-valeur nil, pour représenter une absence de valeur. ( un tiroir vide est égal à nil )
Dans l'exemple suivant, la variable maVariable n'est pas encore définie.
Elle n'a donc aucune valeur et l'emplacement mémoire pourra ainsi être récupérée par le "garbage collector*".
maVariable = nil
En principe vous n'aurez pas à le faire, mais si toutefois vous devez annuler une variable, il vous suffira de la valoriser à nil. ( ou plus exactement de la non-valoriser! )