Premiers pas
Nous allons commencer notre exploration du langage Ruby en utilisant l’invite de commandes interactif IRB (en anglais, «interactive ruby shell»). Pour se faire, ouvrez un terminal et entrez:
irb --simple-prompt fred@shiva:~ $ irb --simple-prompt >>
Important
Vérifiez que le programme IRB démarre correctement avant de continuer.
Utiliser Ruby comme une calculatrice
L’interpréteur interactif IRB peut s’utiliser facilement comme calculatrice :
fred@shiva:~ $ irb --simple-prompt ~ >> 1 + 2 => 3 >> 4 - 3 => 1 >>
Ruby est capable d’évaluer toutes les opérations arithmétiques de base :
Tableau 1.1. Opérations arithmétiques de base
| Symbole | Effet |
| + | addition |
| – | soustraction |
| * | multiplication |
| / | division |
Pour quitter le programme IRB, il suffit d’entrer exit :
fred@shiva:~ $ irb --simple-prompt ~ >> 1 + 2 => 3 >> 4 - 3 => 1 >> exit fred@shiva:~ $
Nous allons maintenant jouer un peu plus avec les opérations arithmétiques de base. Essayez ceci :
fred@shiva:~ $ irb --simple-prompt >> 3 * 2 => 6 >> 4 / 2 => 2 >> 3 - 5 => -2 >> 3 / 2 => 1 >>
Remarquez bien le comportement de Ruby lorsque nous essayons de diviser 3 par 2 :
>> 3 / 2 => 1
Que s’est-il passé ? Rien d’anormal, je vous rassure! Ruby nous montre simplement qu’il travaille avec deux classes différentes de nombres:
- Entiers
- Décimaux (appelés aussi « flottants »)
Les nombres et Ruby
Entiers
Un entier est un nombre comme 1, 2, -5, etc… Lorsque nous travaillerons avec des entiers, Ruby nous donnera toujours une réponse mathématiquement exprimée sous forme entière.
3 / 2 devrait nous donner 1.5, mais comme cette valeur n’est pas entière et que les deux nombres utilisés dans l’opération sont entiers, Ruby renverra donc à la place une réponse formulée sous forme entière, c’est à dire 1.
Décimaux
Un nombre décimal est souvent appelé «flottant», par analogie avec sa partie décimale. 3.14, 1.5 et 3.0 sont des flottants. Ruby renverra toujours une valeur flottante comme résultat pour des opérations arithmétiques agissant sur des flottants. Par exemple :
fred@shiva:~ $ irb --simple-prompt >> 3.0 / 2.0 => 1.5 >>
Autres opérateurs arithmétiques
Avant d’en finir avec ce chapitre, jetons un petit coup d’oeil à deux autres opérateurs arithmétiques:
Tableau 1.2. Autres opérations arithmétiques
| Symbole | Effet |
** |
exposant |
| % | modulo (le reste d’une division) |
fred@shiva:~ $ irb --simple-prompt >> 3 ** 2 => 9 >> 5 % 2 => 1 >> 5.1 % 2 => 1.1 >>
Notez bien le comportement de l’opérateur % avec les nombres décimaux. Dans cet exemple, 2 rentre deux fois dans 5.1, et il reste 1.1 de trop.
Nombres énormes, et nombres minuscules
Ruby convient très bien lorsqu’il s’agit de travailler avec de très grands et de très petits nombres. Supposez par exemple que vous souhaitez enregistrer quelque part le nombre 192349562563447.
Bon, c’est loin d’être facile à lire. Dans la vie courante, nous sommes habitués à séparer les chiffres par des caractères spéciaux, en fonction du pays d’origine (il s’agit souvent d’une virgule, d’un point ou d’un espace blanc). Par exemple, nos amis anglo-saxons auraient représenté ce fameux nombre de cette façon: 192,349,562,563,447. Ruby fonctionne exactement de la même façon, en utilisant des «blancs soulignés» (en anglais, «underscores»):
fred@shiva:~ $ irb --simple-prompt >> nombre = 192_349_562_563_447 => 192349562563447 >>
Comment faire si vous désirez travailler avec des nombres énormes comme 17_000_000_000_000_000_000, ou des nombres minuscules comme 0.000_000_000_000_321? En temps normal, la méthode la plus simple (et la plus paresseuse) consiste à utiliser une notation scientifique en écrivant 1.7 × 1019, et 3.21 × 10-13. Et comme vous vous en seriez douté, Ruby permet évidemment d’utiliser cette notation :
fred@shiva:~ $ irb --simple-prompt >> grand = 1.7e19 => 1.7e+19 >> petit = 3.21e-13 => 3.21e-13 >>
Quelques exercices
- Calculez le nombre d’heures contenues dans année.
- Calculez le nombre de minutes dans une décénie.
- Quel est votre age en secondes?
- Que vaut l’expression 3.24 * ((34/2) – 54)/33.4 * 3.4 ? (notez qu’il est possible d’utiliser des parenthèses)
- Quel sera le résultat d’une opération qui combine à la fois des flottants et des entiers? Par exemple, calculez ceci:
- 3.0 / 2
- 3 / 2.0
- 4 ** 2.0
- 4.1 % 2
La réponse sera-t-elle donnée sous forme entière ou décimale?
Introduction à Ruby << | Apprenez Ruby | >> Chaînes de caractères

