1.3 - Exercices


Réaliser chaque exercice dans un fichier Ruby distinct


Th3 L33+0R

Créer une fonction qui transforme en leet code une phrase fournie à la console par l'utilisateur.

  • Les minuscules deviennent des majuscule et inversement
  • Ajouter certaines règles de substitution selon votre inspiration du moment, par exemple: les 'e' deviennent des '3', les 't' des '+', les 'a' des '@', etc.
    • Explorer l'utilisation d'un hash pour stocker les transformations à appliquer.
  • Valider que l'utilisateur ne saisit pas une string vide ou seulement des espaces.
Votre phrase: Je m'appelle James!

j3 M'@PP3LL3 j@M3$!

Un petit plus

Créer une fonction qui calcule et retourne la somme des nombres contenus dans un tableau reçu en paramètre

["a", 1, 4, 6.5, "3", true]
Somme = 11.5
  • Valider que le paramètre est un tableau et n'inclure que les cases qui sont réellement une valeur numérique
  • Récupérer la valeur de retour de la fonction et l'afficher à la console
  • Créer une autre fonction qui permet de remplir le tableau via la saisie à la console et qui retourne un tableau
    • Continuer la saisie tant que la valeur n'est pas vide
    • Extraire cette fonction dans un autre fichier nommé input.rb et inclure ce fichier dans l'exercice avec require_relative
    • Attention lors de la saisie à la console, on recevra toujours une String, il faudra adapter le code pour accepter les valeurs pouvant être un nombre, ex: "4", "5.2"

Que des nombres

Dans un nouveau fichier only_numbers.rb, créer une fonction qui traite un tableau pour sélectionner seulement les valeurs qui peuvent être considérées comme des nombres, convertir en valeur numérique, éliminer les répétitions et trier en ordre croissant

  • Réutiliser la fonction de input.rb pour remplir le tableau via la console
  • Valider que le paramètre est un tableau
  • Retourner un hash contenant input, le tableau saisis, et processed, le tableau traité
  • Afficher le résutat de la fonction à la console sous forme de String en séparant chaque valeur par ' | ' dans le programme principal

📚 Array

Saisie: ["a", 1, 6.5, "3", 4, 1, true]

1 | 3 | 4 | 6.5

Bonjour!

Créer une fonction qui reçoit le prénom, le nom et l’année de naissance d'un individu. Afficher ensuite un message à la console selon le format:

Bonjour [Prénom] [Nom], vous avez [X] ans.
Vous êtes [status]!
  • Utiliser les paramètres nommés pour identifier le prénom, le nom et l'année
  • Tester la fonction capitalize pour afficher proprement le prénom et le nom
  • Récupérer l'année courante avec Date.today.year et calculer l'âge
    • Vous devrez importer le module Date avec require 'date'
  • Le [status] est déterminé selon l’âge:
    • < 25 : jeune
    • < 50 : plus tout jeune
    • < 75 : vieillissant
    • >= 75 : vieux
  • Valider les paramètres reçus, Prénom et Nom sont des string, Année est un nombre entier inférieur à l'année courante.
  • Via une autre fonction, saisir les données à la console en validant que l'utilisateur ne fourni pas une string vide ou une année de naissance supérieure ou égale à l'année courante
  • Analyser votre code et extraire dans des fonctions les sections qui se répètent
  • [DÉFI] Saisir la date de naissance complète(Date.strptime) à la console pour calculer l'âge
    • Afficher la date de naissance au format long(Date.strftime), ex: 'Monday February 12 2017'

[DÉFI] Ruby koans

Pour continuer à explorer Ruby, expérimentez ces énigmes pour trouver une solution qui satisfait le résultat attendu.