Variables

Ruby vous permet d’utiliser des variables pour associer des noms à des objets particuliers. Exemple:

ville = "Toronto"

Ici, Ruby associe la chaîne de caractères “Toronto” à la variable ville.

Si vous avez des difficultés, imaginez-vous Ruby fabriquant deux tableaux. Un contenant les objets, et un autre contenant les noms qui leurs sont associés. Ensuite, imaginez-vous Ruby dessinant une flèche de ville à “Toronto”.

Lorsque Ruby rencontrera la variable ville, il suivra logiquement la flèche et arrivera sur la chaîne de caractères “Toronto”.

Attention

Les noms de variables doivent toujours commencer par une minuscule!

Travailler avec des variables

Vous pouvez manipuler des variables exactement de la même façon que vous auriez manipulé les objets qu’elles représentent. Voici un exemple :


fred@shiva:~ $ irb --simple-prompt
>> var1 = 7
=> 7
>> var2 = 4
=> 4
>> var3 = var1 + var2
=> 11
>> var4 = "Salut!" 
=> "Salut!" 
>> var4 = var4 * var2
=> "Salut!Salut!Salut!Salut!" 
>>

L’avantage des variables, c’est que vous pouvez garder quelque part une trace de vos données facilement. Imaginez par exemple que l’on vous donne les instructions suivantes:

  1. Additionnez ensemble 2, 4, 6 et 8
  2. Prenez le résultat, et divisez-le par 5
  3. Calculez le produit simultané de 2, 3 et 4
  4. Prenez le résultat obtenu à la ligne 2, et soustrayez-y ce que vous venez d’obtenir à la ligne 3

Bien entendu, vous pouvez écrire une longue expression pour calculer ceci. Mais il est évidemment plus facile d’écrire:


fred@shiva:~ $ irb --simple-prompt
>> x = 2 + 4 + 6 + 8
=> 20
>> x = x / 5
=> 4
>> y = 2 * 3 * 4
=> 24
>> y = y -x
=> 20
>>

Raccourcis

Dans l’exemple ci-dessus, nous avons vu les expressions:

x = x / 5
y = y - x

On rencontre assez souvent ce genre d’expressions, donc Ruby (qui pense à nous) nous permet d’utiliser les raccourcis suivants :

Tableau 1.7. Raccourcis

Exemple Raccourci Effet
x = x + 2 x += 2 Additionner 2 à x
x = x – 3 x -= 3 Soustraire 3 de x
x = x * 6 x *= 6 Multiplier x par 6
x = x / 2 x /= 2 Diviser x par 2
x = x ** 3 x **= 3 Exposer x au cube
x = x % 4 x %= 4 Calculer le reste de la division de x par 4, et y enregistrer le résultat

Donc, notre exemple du dessus aurait pu être écrit de cette façon :


fred@shiva:~ $ irb --simple-prompt
>> x = 2 + 4 + 6 + 8
=> 20
>> x /= 5
=> 4
>> y = 2 * 3 * 4
=> 24
>> y -= x
=> 20
>>

Constantes

Les constantes ressemblent à des variables, à la différence près que vous informez Ruby que sa valeur est supposée ne pas changer. Si vous essayez de modifier la valeur d’une constante, Ruby vous enverra un avertissement.

Vous pouvez définir des constantes de la même façon que des variables, sauf que leur nom doit commencer par une majuscule.


fred@shiva:~ $ irb --simple-prompt
>> Ville = "Toronto" 
=> "Toronto" 
>> Ville = "Bruxelles" 
(irb):2: warning: already initialized constant Ville
=> "Bruxelles" 
>>

Note

Même si Ville est une constante, sa valeur change quand même. Définir une constante signifie seulement que Ruby vous avertira si vous modifiez sa valeur. Regardez


fred@shiva:~ $ irb --simple-prompt
>> Ville = "Toronto" 
=> "Toronto" 
>> Ville = "Bruxelles" 
(irb):2: warning: already initialized constant Ville
=> "Bruxelles" 
>> Ville
=> "Bruxelles" 
>>

Quelques exercices

1. Pensez-vous que les raccourcis fonctionnent également avec les chaînes de caractères? Essayez ceci:


var = "Bonjour " 
var += "monde" 

2. À votre avis, que va donner ce code:


var = "salut" 
var *= 3

Essayez-le. Comment auriez-vous expliqué le résultat à un enfant?

De nouveaux noms pour de vieilles choses << | Apprenez Ruby | >> Votre premier programme