Aller au contenu

Ruby/Opérateurs

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Opérateurs
Icône de la faculté
Chapitre no 4
Leçon : Ruby
Chap. préc. :Variables et constantes
Chap. suiv. :Méthodes
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Ruby : Opérateurs
Ruby/Opérateurs
 », n'a pu être restituée correctement ci-dessus.

Opérations arithmétiques

[modifier | modifier le wikicode]

Il y a 6 opérations arithmétiques, chacune utilisant un opérateur

  • l'addition : a + b
  • la soustraction : a - b
  • la multiplication : a * b
  • la division : a / b
  • le modulo : a % b est le reste de la division euclidienne de a par b, c'est-à-dire qu'a, b et r = a % b sont des entiers
  • la mise en exposant : a ** 3 = a * a * a


Ces opérations vous permettent de manipuler deux sortes de nombres : les entiers et les décimaux (ou flottants). L'utilisation de parenthèses permet de modifier l’ordre de priorité entre ces opérations. En effet :

puts 2 * 3 + 5 ** 2 # => 31
puts (2 * (3 + 5)) ** 2 # => 256


La notation scientifique est aussi tolérée : 1,8.10^4 s'écrit 1.8e4 (à ne pas confondre avec la notation exponentielle, mais c’est une autre histoire).

Simplifications

[modifier | modifier le wikicode]

Il peut nous arriver d'écrire une expression comme :

i = i + 1


Ceci nous amène à citer deux fois la même variable dans la même expression. Ruby nous permet de remplacer ceci par :

i += 1 # on ajoute 1 à la valeur de i


Le fait d'ajouter une valeur constante (ici, 1) à une variable s’appelle l'incrémentation. Si on retranche une valeur constante, on parle de décrémentation.

Dans certains langages, on peut simplifier l’expression i += 1 pour obtenir i++ ou ++i, de même avec l’expression i -= 1 pour obtenir i-- ou --i. Ceci n’est pas possible en Ruby !

De cette manière, nous pouvons simplifier toutes les opérations arithmétiques de base vues jusque-là :

i += 8 # équivaut à i = i + 8
n -= 3 # équivaut à n = n - 3
z *= 9 # équivaut à z = z * 9
f /= 5 # équivaut à f = f / 5
k %= 7 # équivaut à k = k % 7
v **=6 # équivaut à v = v ** 6


Opérations sur les chaînes de caractères

[modifier | modifier le wikicode]

Les opérateurs d'addition et de multiplication permettent également de manipuler des chaînes de caractères.

puts "hello" + " world !" # => hello world !


Les deux chaînes de caractères ont été mises bout à bout (concaténées). On peut également mettre le résultat de la concaténation dans une variable :

text = "hello" + " world !"
puts text


Nous pouvons aussi utiliser l'opérateur * sur les chaînes de caractères :

puts "zog ! " * 4 # Ce code renverra : zog ! zog ! zog ! zog !


Simplifications

[modifier | modifier le wikicode]

Ces simplifications se basent sur le même modèle que pour les opérations arithmétiques.

text = "ruby" * 3
# peut s'écrire
text = "ruby"
text *= 3

phrase = "wiki"
phrase = phrase + "pedia"
# peut s'écrire
phrase = "wiki"
phrase += "pedia"
# ou encore (plus rapide en exécution)
phrase = "wiki"
phrase << "pedia"