Tous les guides
Intermédiaire-AvancéÀ votre rythmeGuide gratuitSection 3/33

Ruby — Variables, types et boucles

Apprenez à construire et vérifier une application web avec des outils de développement et des assistants IA. Pratiquez les étapes de conception, code et validation.

💡

Contenu gratuit, accessible sans compte. Les outils et modèles évoluent : consultez le dossier actuel pour vérifier leurs versions. Modèles et sources

Section 13.1.3 : Ruby — Variables, types et boucles

🎯 Objectif pédagogique

Découvrir le langage Ruby, comprendre ses types de données fondamentaux et maîtriser les structures de contrôle. Ruby est le langage au cœur de Ruby on Rails — sa philosophie de « developer happiness » en fait un excellent premier langage.


Pourquoi Ruby ?

Ruby est un langage créé en 1995 par Yukihiro « Matz » Matsumoto au Japon. Sa philosophie : « Ruby is designed to make programmers happy ». Le langage privilégie la lisibilité et l'expressivité, ce qui en fait un excellent choix pour apprendre la programmation.

Variables et types de données

En Ruby, pas besoin de déclarer le type — le langage le déduit automatiquement (typage dynamique).

# Strings
prenom = 'Alice'
nom = "Martin"
message = "Bonjour, #{prenom} #{nom} !"  # Interpolation

# Nombres
age = 28                    # Integer
prix = 19.99                # Float
quantite = 1_000_000        # Underscore pour lisibilité

# Booléens
majeur = true
inscrit = false

# Nil
resultat = nil

# Symboles
statut = :actif
role = :admin

Opérations sur les strings

nom = 'alice martin'
nom.upcase        # 'ALICE MARTIN'
nom.capitalize    # 'Alice martin'
nom.length        # 12
nom.include?('alice')  # true
nom.gsub('alice', 'bob')  # 'bob martin'
nom.split(' ')    # ['alice', 'martin']
nom.reverse       # 'nitram ecila'
nom.empty?        # false
nom.start_with?('alice')  # true

Opérations sur les nombres

10 + 3    # 13
10 - 3    # 7
10 * 3    # 30
10 / 3    # 3 (division entière !)
10.0 / 3  # 3.333...
10 % 3    # 1 (modulo)
2 ** 10   # 1024 (puissance)

'42'.to_i    # 42
42.to_s      # '42'
42.to_f      # 42.0
-5.abs       # 5
42.even?     # true

Structures conditionnelles

age = 25

if age >= 18
  puts 'Vous êtes majeur'
elsif age >= 16
  puts 'Presque majeur'
else
  puts 'Vous êtes mineur'
end

# Opérateur ternaire
statut = age >= 18 ? 'majeur' : 'mineur'

# unless (inverse de if)
unless age >= 18
  puts 'Accès refusé'
end

# Condition postfix
puts 'Bienvenue !' if age >= 18

# case / when
role = :admin
case role
when :admin then puts 'Accès total'
when :editor then puts 'Accès écriture'
when :viewer then puts 'Accès lecture'
else puts 'Rôle inconnu'
end

Boucles

# while
compteur = 0
while compteur < 5
  puts "Tour #{compteur}"
  compteur += 1
end

# times (la manière Ruby)
5.times do |i|
  puts "Itération #{i}"
end

# upto / downto
1.upto(5) { |i| puts i }
5.downto(1) { |i| puts i }

# loop avec break
loop do
  puts 'Entrez votre nom :'
  nom = gets.chomp
  break if nom.length >= 2
  puts 'Nom trop court !'
end

Arrays (tableaux)

fruits = ['pomme', 'banane', 'cerise']
nombres = [1, 2, 3, 4, 5]

fruits[0]         # 'pomme'
fruits[-1]        # 'cerise'
fruits << 'mangue'
fruits.push('kiwi')
fruits.delete('banane')

fruits.each { |fruit| puts fruit }

nombres.map { |n| n * 2 }       # [2, 4, 6, 8, 10]
nombres.select { |n| n.even? }   # [2, 4]
nombres.reject { |n| n > 3 }     # [1, 2, 3]
nombres.reduce(:+)               # 15
nombres.min                      # 1
nombres.max                      # 5
Vérification rapide

Que retourne [1, 2, 3, 4, 5].select { |n| n.even? } ?

Vérification rapide

En Ruby, quelle est la différence entre puts et print ?

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Votre progression

Cette progression est déclarative et conservée dans votre navigateur. L’attestation finale ne constitue pas un diplôme ni une évaluation indépendante.

Voir ma progression et mon attestation

Apprendre l’IA, du premier prompt aux agents

15 guides gratuitsQuiz, schémas et ateliersSans compte

Un cas pratique IA dans votre boîte mail

Méthodes, ressources et nouveaux exercices. Gratuit, avec désinscription à tout moment.