A Cairoban a nyomtatás segítségével üzeneteket vagy hibakeresési információkat jeleníthetsz meg a program futása közben.
A Cairo két makrót biztosít a nyomtatáshoz:
println!: Egy üzenetet ír ki, amelyet egy sortörés követ.print!: Egy üzenetet ír ki sortörés nélkül.println!("Hello, Cairo!");
println!("x = {}, y = {}", 10, 20);
A {} helyőrzők helyére a megadott értékek kerülnek.
A format! segítségével anélkül hozhatsz létre ByteArray-t, hogy azonnal kiírnád:
let result = format!("{}-{}-{}", "tic", "tac", "toe");
println!("{}", result); // Output: tic-tac-toe
Egyéni típusoknál a nyomtatáshoz vagy valósítsd meg a Display-t, vagy származtasd a Debug-ot:
#[derive(Debug)]
struct Point { x: u8, y: u8 }
let p = Point { x: 3, y: 4 };
println!("{:?}", p); // Debug output: Point { x: 3, y: 4 }
A {:x} segítségével hexadecimális formában írhatsz ki egészeket:
println!("{:x}", 255); // Output: ff
Echoes varázslatos világában létezik egy hatalmas varázsige, az „EchoSpeak”. Ez a varázsige lehetővé teszi a varázslók számára, hogy kimondott szavakon keresztül közöljék gondolataikat és megfigyeléseiket, amelyeket mágikus tollak írnak le. Hogy elsajátítsák ezt a varázsigét, a varázslóknak meg kell tanulniuk világosan és tömören megfogalmazni a szavaikat és a gondolataikat, akár számokról, tárgyakról vagy összetett mágikus konstrukciókról van szó.
Varázslótanoncként az a feladatod, hogy elsajátítsd az EchoSpeak művészetét. Ehhez meg kell tanulnod, hogyan írj különféle mágikus adatfajtákat az elvarázsolt tekercsekre. Az EchoSpeak úgy működik, hogy fog egy különleges mágikus tintát, amelyet a ByteArray képvisel, és formázott üzeneteket ír a tekercsre olyan varázsigék segítségével, mint a println! és a print!.
Amikor azonban egyedi mágikus konstrukciókkal van dolgunk, például elvarázsolt tárgyakkal vagy varázsigékkel, az EchoSpeaknek különleges igézésre van szüksége ahhoz, hogy megértse, hogyan ábrázolja ezeket az objektumokat. Itt jön a te varázserőd: meg kell tanulnod implementálni a traits néven ismert különleges varázsigéket az egyedi mágikus tárgyakhoz.
Néha a varázslóknak formázniuk kell a mágikus szavaikat, mielőtt felírják őket a tekercsekre. Írj egy függvényt, amely három mágikus szót egyetlen üzenetté formál.
Implementálj egy format_magical_chant nevű függvényt, amely „chant1-chant2-chant3” formában ad vissza egy formázott stringet.
Példa:
let result = format_magical_chant("Spark", "Shine", "Glow");
assert_eq!(result, "Spark-Shine-Glow");
Echoes birodalma tele van elvarázsolt tárgyakkal. Egy ilyen tárgy az EchoStone, amely két mágikus attribútumot tartalmaz: a power és a duration. A feladatod, hogy implementáld a stringify_echo_stone függvényt, amely a Display trait implementálásával egy EchoStone-t ByteArray-vé alakít; a formátum ez: "EchoStone [power: x, duration: y]".
Példa:
let stone = EchoStone { power: 100, duration: 300 };
assert_eq!(stringify(stone), "EchoStone [power: 100, duration: 300]");
Varázslótanoncként a hibakeresés elengedhetetlen az összetett mágikus konstrukciókhoz. Írj egy függvényt, amely kiír egy EchoStone-t hibakeresés céljából, a Debug trait használatával. A formátum ez legyen: "Debugging EchoStone: { power: x, duration: y }".
Példa:
let stone = EchoStone { power: 25, duration: 10 };
assert_eq!(format!("{:?}", stone), "Debugging EchoStone: { power: 25, duration: 10 }");
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Cairo nyelvet 25 fogalom68 feladat segítségével, valódi emberi mentorálással, mindez ingyen.