Retour au cours

variables et types de données de base

Objectifs

  • Manipuler les nombres (entiers et flottants).
  • Créer et interpoler des chaînes de caractères (Strings).
  • Comprendre la signification de nil et des booléens true et false.
  • Vérifier le type d’un objet avec la méthode .class.
  • Saisir le concept de “truthiness” en Ruby.

En Ruby, tout est un objet. Cela signifie que chaque valeur que vous manipulez, même un simple nombre, est une instance d’une classe et dispose de ses propres méthodes.

Les Nombres

Ruby distingue principalement deux types de nombres :

  • Integer : Les nombres entiers, positifs ou négatifs.

    age = 30
    temperature = -5
  • Float : Les nombres à virgule flottante.

    pi = 3.14
    prix = 99.99

    Si une opération arithmétique implique un Float, le résultat sera un Float.

Les Chaînes de Caractères (String)

Les String représentent du texte. Il y a deux manières principales de les créer.

  • Guillemets doubles " : C’est la méthode la plus courante et la plus puissante. Elle permet l’interpolation, c’est-à-dire l’évaluation de code Ruby à l’intérieur de la chaîne avec la syntaxe #{...}.
    nom = "Alice"
    message = "Bonjour, #{nom} ! Votre solde est de #{50 * 2} euros."
    # => "Bonjour, Alice ! Votre solde est de 100 euros."
  • Guillemets simples ' : Le contenu est traité littéralement. Aucune interpolation n’est effectuée.
    message_literal = 'Bonjour, #{nom} !'
    # => "Bonjour, #{nom} !"

Les Booléens : true et false

Les booléens représentent les valeurs de vérité.

  • true est l’objet qui représente le vrai.
  • false est l’objet qui représente le faux.
est_connecte = true
a_des_erreurs = false

Le concept de “Truthy” et “Falsy”

C’est un point très important et une différence avec de nombreux autres langages. Dans une condition (if, while…), Ruby considère comme “fausses” (falsy) seulement deux valeurs :

  • false
  • nil

Tout le reste est considéré comme “vrai” (truthy), y compris :

  • Le nombre 0.
  • Une chaîne de caractères vide "".
  • Un tableau vide [].

nil : La représentation du “rien”

nil est un objet spécial qui représente l’absence de valeur. C’est l’équivalent de null ou None dans d’autres langages.

# Si une variable n'a pas encore de valeur, elle vaut nil
voiture = nil

Vérifier le type d’un objet avec .class

Puisque tout est un objet, vous pouvez demander à n’importe quelle valeur de quelle “classe” (type) elle est.

10.class          # => Integer
3.14.class        # => Float
"Bonjour".class   # => String
true.class        # => TrueClass
false.class       # => FalseClass
nil.class         # => NilClass

Bonnes pratiques

  • Utilisez les guillemets doubles " pour vos chaînes de caractères par défaut. N’utilisez les guillemets simples '' que lorsque vous avez spécifiquement besoin d’un comportement littéral.
  • Gardez à l’esprit la règle du “truthy/falsy”. Une vérification if ma_chaine sera toujours vraie, même si la chaîne est vide. Pour tester si une chaîne est vide, utilisez if ma_chaine.empty?.

Exercices

  1. Exploration des types dans irb :

    • Lancez irb.
    • Créez une variable pour chaque type de données que nous avons vu.
    • Utilisez la méthode .class sur chaque variable pour confirmer son type.
  2. Jeu d’interpolation :

    • Créez une variable fruit = "pomme".
    • Créez une variable quantite = 5.
    • En utilisant l’interpolation, créez une chaîne de caractères qui affiche : “J’ai 5 pommes.”.
  3. Test de “truthiness” :

    • Dans irb, testez les conditions suivantes et observez le résultat :
      if 0
        puts "0 est 'truthy'"
      end
      
      if ""
        puts "Une chaîne vide est 'truthy'"
      end
      
      if nil
        puts "Ce message ne s'affichera pas"
      else
        puts "nil est 'falsy'"
      end