Réaliser chaque exercice dans un fichier Ruby distinct
- Conserver les fichiers car ils seront réutilisés plus tard dans la session
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$!
Créer une fonction qui calcule et retourne la somme des nombres contenus dans un tableau reçu en paramètre
- 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
Parametre: ["a", 1, 4, 6.5, "3", true]
Somme = 11.5
- 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:
"42", "3.1416"
Valeur? a
Valeur? 1
Valeur? 6.5
Valeur? 3
Valeur? 4
Valeur? 1
Valeur? true
Valeur?
Parametre: ["a", "1", "6.5", "3", "4", "1", "true"]
Somme = 15.5
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 2 informations:
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
👀 RTFM
Valeur? a
Valeur? 1
Valeur? 6.5
Valeur? 3
Valeur? 4
Valeur? 1
Valeur? true
Valeur?
Saisie: ["a", "1", "6.5", "3", "4", "1", "true"]
1 | 3 | 4 | 6.5
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:
- 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.
Bonjour [Prénom] [Nom], vous avez [X] ans.
Vous êtes [status]!
- 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
- 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'
Pour continuer à explorer Ruby, expérimentez avec ces énigmes pour trouver une solution qui satisfait le résultat attendu.
👉 Ruby koans