De nouveaux noms pour de vieilles choses

Ruby identifie par des noms spéciaux certaines choses que nous connaissons déjà. Par exemple, il utilise le mot Float («flottant») pour représenter un nombre décimal. Voici quelques autres définitions:

Voici la liste des classes Ruby associées aux types de données que vous venez de découvrir:

Tableau 1.3. Types de données et leur classes

Type de donnée Classe associée
nombre entier Integer
nombre décimal Float
texte String

Souvenez-vous, vous avez également utilisé plusieurs méthodes associées à ces classes:

Tableau 1.4. Classes et quelques méthodes

Classe Quelques méthodes
Integer +, -, /, *, %, **
Float +, -, /, *, %, **
String capitalize, reverse, length, upcase, +, *

Soyez certain de bien comprendre la différence entre une classe et un objet. Un objet, c'est une donnée quelconque. Une classe, c'est la structure de l'objet, ce à quoi il ressemble, ce qui le différencie des autres objets.

Par exemple, 3 et 5 sont des nombres différents. Ce sont donc des objets différents. Mais ce sont tous deux des nombres entiers, donc ils appartiennent à la même classe («Integer»). Voici quelques exemples:

Souvenez-vous, différentes classes peuvent avoir différentes méthodes. Voici quelques différences que nous avons déjà remarqué dans ce chapitre:

Pour cette raison, nous utiliserons la notation Classe#méthode pour identifier exactement de quelle méthode nous parlerons. Par exemple, nous dirons Integer#+ afin de différencier cette méthode de Float#+ et de String#+. Nous pouvons également affirmer que String#upcase existe, mais que Integer#upcase n'existe pas.

Voici quelques méthodes permettant d'effectuer des conversions pour les trois classes que nous venons d'étudier:

Un petit exemple pratique avec notre ami IRB: