Tracks
/
Cairo
Cairo
/
Übungen
/
Das Reich der Echos
Das Reich der Echos

Das Reich der Echos

Lernübung

Einführung

Die Ausgabe in Cairo ermöglicht es dir, während der Programmausführung Nachrichten oder Debug-Informationen anzuzeigen.

Grundlagen

Cairo bietet zwei Makros für die Ausgabe:

  • println!: Gibt eine Nachricht gefolgt von einem Zeilenumbruch aus.
  • print!: Gibt eine Nachricht ohne Zeilenumbruch aus.
println!("Hello, Cairo!"); 
println!("x = {}, y = {}", 10, 20); 

Platzhalter {} werden durch die übergebenen Werte ersetzt.

Strings formatieren

Verwende format!, um ein ByteArray zu erzeugen, ohne es sofort auszugeben:

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

Eigene Datentypen

Für eigene Typen implementierst du Display oder leitest Debug ab, um sie auszugeben:

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

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

Hexadezimale Ausgabe

Verwende {:x}, um Ganzzahlen hexadezimal auszugeben:

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

Anleitung

In der magischen Welt von Echoes gibt es einen mächtigen Zauberspruch namens „EchoSpeak“. Dieser Zauber ermöglicht es Zauberern, ihre Gedanken und Beobachtungen in gesprochenen Worten mitzuteilen, die von magischen Federn niedergeschrieben werden. Um diesen Zauber zu meistern, müssen Zauberer lernen, ihre Worte und Gedanken klar und präzise zu formulieren, egal ob es um Zahlen, Objekte oder komplexe magische Konstrukte geht.

Deine Aufgabe als Lehrling eines Zauberers ist es, die Kunst des EchoSpeak zu meistern. Dazu musst du lernen, verschiedene Arten magischer Daten auf die verzauberten Schriftrollen zu schreiben. EchoSpeak funktioniert so: Es nimmt eine besondere magische Tinte, dargestellt durch das ByteArray, und schreibt formatierte Nachrichten mit Zaubern wie println! und print! auf die Schriftrolle.

Bei eigenen magischen Konstrukten wie verzauberten Gegenständen oder Zaubersprüchen braucht EchoSpeak jedoch eine besondere Beschwörungsformel, um zu verstehen, wie es diese Objekte darstellen soll. Genau hier kommt deine Magie ins Spiel: Du lernst, besondere Zauber zu implementieren, die als traits bekannt sind, und zwar für eigene magische Gegenstände.

1. Magische Worte formatieren

Manchmal müssen Zauberer ihre magischen Worte formatieren, bevor sie sie auf Schriftrollen schreiben. Du schreibst eine Funktion, die drei magische Worte zu einer einzigen Nachricht zusammenfügt.

Implementiere eine Funktion namens format_magical_chant, die einen formatierten String in der Form „chant1-chant2-chant3“ zurückgibt.

Beispiel:

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

2. Eigene verzauberte Gegenstände wiedergeben

Das Reich der Echos ist voller verzauberter Gegenstände. Einer davon ist der EchoStone, der zwei magische Eigenschaften besitzt: Kraft und Dauer. Deine Aufgabe ist es, die Funktion stringify_echo_stone zu implementieren, die einen EchoStone in ein ByteArray in einem besonderen Format "EchoStone [power: x, duration: y]" umwandelt, indem du das Trait Display implementierst.

Beispiel:

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

3. Die Magie debuggen

Als Lehrling eines Zauberers ist Debugging bei komplexen magischen Konstrukten unerlässlich. Du erstellst eine Funktion, die einen EchoStone zum Debuggen mit dem Trait Debug ausgibt. Das Format sollte so aussehen: "Debugging EchoStone: { power: x, duration: y }".

Beispiel:

let stone = EchoStone { power: 25, duration: 10 };
assert_eq!(format!("{:?}", stone), "Debugging EchoStone: { power: 25, duration: 10 }");
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Cairo Exercism

Bereit, mit Das Reich der Echos zu starten?

Melde dich bei Exercism an, um Cairo mit 25 Konzepte68 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.