03. Variables et Affectations
Jusqu'à présent, chaque fois que nous utilisons puts sur une chaîne ou un nombre, ce que nous imprimons disparaît. Ce que je veux dire, c'est que si nous voulions imprimer quelque chose deux fois, nous devrions le taper deux fois :
puts '...vous pouvez le dire encore...'
puts '...vous pouvez le dire encore...'
...vous pouvez le dire encore...
...vous pouvez le dire encore...
Ce serait bien si nous pouvions le taper une seule fois et le garder sous la main... le stocker quelque part. Eh bien, nous pouvons, bien sûr — sinon je n'aurais pas abordé le sujet !
Pour stocker la chaîne dans la mémoire de votre ordinateur, nous devons lui donner un nom. Habituellement, les programmeurs appellent ce processus affectation, et appellent les noms variables. La variable peut être pratiquement n'importe quelle séquence de lettres et de chiffres, mais le premier caractère doit être une lettre minuscule. Exécutons le dernier programme à nouveau, mais cette fois je donnerai à la chaîne le nom de maChaine (bien que j'aurais pu l'appeler str ou maPetiteChaine ou pierrePremier).
maChaine = '...vous pouvez le dire encore...'
puts maChaine
puts maChaine
...vous pouvez le dire encore...
...vous pouvez le dire encore...
Chaque fois que vous avez essayé de faire quelque chose avec maChaine, le programme l'a fait avec '...vous pouvez le dire encore...' à la place. Vous pouvez penser à la variable maChaine comme "pointant vers" la chaîne '...vous pouvez le dire encore...'. Voici un exemple un peu plus intéressant :
nom = 'Patricia Rosanna Jessica Mildred Oppenheimer'
puts 'Je m\'appelle ' + nom + '.'
puts 'Wouah ! ' + nom + ' est un nom vraiment long !'
Je m'appelle Patricia Rosanna Jessica Mildred Oppenheimer.
Wouah ! Patricia Rosanna Jessica Mildred Oppenheimer est un nom vraiment long !
Tout comme nous pouvons affecter un objet à une variable, nous pouvons réaffecter un objet différent à la même variable (et c'est pourquoi nous les appelons des variables : parce que la chose vers laquelle elles pointent peut varier).
compositeur = 'Mozart'
puts compositeur + ' était "génial", à son époque.'
compositeur = 'Beethoven'
puts 'Mais je préfère ' + compositeur + ', personnellement.'
Mozart était "génial", à son époque.
Mais je préfère Beethoven, personnellement.
Les variables peuvent, bien sûr, pointer vers n'importe quel type d'objet, pas seulement des chaînes :
var = 'juste une autre ' + 'chaîne'
puts var
var = 5 * (1+2)
puts var
juste une autre chaîne
15
En fait, les variables peuvent pointer vers n'importe quoi... sauf d'autres variables. Alors que se passe-t-il si nous essayons ?
var1 = 8
var2 = var1
puts var1
puts var2
puts ''
var1 = 'huit'
puts var1
puts var2
8
8
huit
8
D'abord, quand nous avons essayé de faire pointer var2 vers var1, var2 a pointé vers 8 (exactement comme var1 pointait). Ensuite, nous avons fait pointer var1 vers 'huit', mais comme var2 n'a jamais vraiment pointé vers var1, elle continue de pointer vers 8.
Maintenant que nous avons des variables, des nombres et des chaînes, apprenons comment les mélanger tous !