Parcours
/
Cairo
Cairo
/
Exercices
/
Le royaume des échos
Le royaume des échos

Le royaume des échos

Exercice d'apprentissage

Introduction

L'affichage en Cairo permet de montrer des messages ou des informations de débogage pendant l'exécution du programme.

Les bases

Cairo fournit deux macros pour l'affichage :

  • println! : affiche un message suivi d'un retour à la ligne.
  • print! : affiche un message sans retour à la ligne.
println!("Hello, Cairo!"); 
println!("x = {}, y = {}", 10, 20); 

Les espaces réservés {} sont remplacés par les valeurs fournies.

Formatage des chaînes de caractères

Utilise format! pour créer un ByteArray sans l'afficher immédiatement :

let result = format!("{}-{}-{}", "tic", "tac", "toe");
println!("{}", result); // Output: tic-tac-toe

Types de données personnalisés

Pour les types personnalisés, implémente Display ou dérive Debug pour pouvoir les afficher :

#[derive(Debug)]
struct Point { x: u8, y: u8 }

let p = Point { x: 3, y: 4 };
println!("{:?}", p); // Debug output: Point { x: 3, y: 4 }

Affichage en hexadécimal

Utilise {:x} pour afficher les entiers en hexadécimal :

println!("{:x}", 255); // Output: ff

Instructions

Dans le monde magique d'Echoes existe un sort puissant appelé « EchoSpeak ». Ce sort permet aux sorciers de communiquer leurs pensées et leurs observations à travers des paroles, que des plumes magiques retranscrivent par écrit. Pour maîtriser ce sort, les sorciers doivent apprendre à formuler leurs mots et leurs pensées de manière claire et concise, qu'il s'agisse de nombres, d'objets ou de constructions magiques complexes.

Ta tâche, en tant qu'apprenti sorcier, est de maîtriser l'art d'EchoSpeak. Pour cela, tu dois apprendre à écrire différents types de données magiques sur les parchemins enchantés. EchoSpeak fonctionne en prenant une encre magique spéciale, représentée par le ByteArray, et en inscrivant des messages formatés sur le parchemin à l'aide de sorts comme println! et print!.

Cependant, face à des constructions magiques personnalisées comme des objets enchantés ou des sorts, EchoSpeak a besoin d'une incantation spéciale pour comprendre comment représenter ces objets. C'est là que ta magie entre en jeu : apprendre à implémenter des sorts spéciaux appelés traits pour des objets magiques personnalisés.

1. Formate les mots magiques

Parfois, les sorciers doivent formater leurs mots magiques avant de les inscrire sur les parchemins. Tu vas écrire une fonction qui formate trois mots magiques en un seul message.

Implémente une fonction appelée format_magical_chant qui renvoie une chaîne formatée de la forme « chant1-chant2-chant3 ».

Exemple :

let result = format_magical_chant("Spark", "Shine", "Glow");
assert_eq!(result, "Spark-Shine-Glow");

2. Fais écho aux objets enchantés personnalisés

Le royaume d'Echoes est rempli d'objets enchantés. L'un d'eux est l'EchoStone, qui possède deux attributs magiques : power et duration. Ta tâche est d'implémenter la fonction stringify_echo_stone qui convertit un EchoStone en ByteArray dans un format spécial "EchoStone [power: x, duration: y]", en implémentant le trait Display.

Exemple :

let stone = EchoStone { power: 100, duration: 300 };
assert_eq!(stringify(stone), "EchoStone [power: 100, duration: 300]");

3. Débogue la magie

En tant qu'apprenti sorcier, le débogage est essentiel pour les constructions magiques complexes. Tu vas créer une fonction qui affiche un EchoStone à des fins de débogage grâce au trait Debug. Le format attendu est le suivant : "Debugging EchoStone: { power: x, duration: y }".

Exemple :

let stone = EchoStone { power: 25, duration: 10 };
assert_eq!(format!("{:?}", stone), "Debugging EchoStone: { power: 25, duration: 10 }");
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Cairo Exercism

Prêt à commencer Le royaume des échos ?

Inscris-toi sur Exercism pour apprendre et maîtriser Cairo avec 25 concepts68 exercices, et un vrai mentorat humain, le tout gratuitement.