I'm new to coding working on the chapter 3 exercises in the rust book. I came across this persons code online and I'm confused about part of it. At one point they introduce the variable gift_day and I'm unsure where that comes from or why it works since its not referenced anywhere else in the code
fn main() {
println!("TWELVE DAYS OF CHRISTMAS");
for day in 1..13 {
day_intro(day);// first appears here
for gift_day in (1..(day + 1)).rev() {
gift(
gift_day,
if gift_day == 1 && day != 1{
"and"
} else {
""
},
);
}
}
}
fn day_intro(n:u32) {
let day = match n {
1 => "first",
2 => "second",
3 => "third",
4 => "fourth",
5 => "fifth",
6 => "sixth",
7 => "seventh",
8 => "eighth",
9 => "ninth",
10 => "tenth",
11 => "eleventh",
12 => "twelfth",
_ => "",
};
println!(
"\nOn the {} day of christmas\nmy true love sent to me:", day
);
}
fn gift(n:u32, prefix: &str) {
let gift_text = match n {
1 => "a partridge in a pear tree",
2 => "two turtle doves",
3 => "three french hens",
4 => "four calling birds",
5 => "five golden rings",
6 => "six geese a laying",
7 => "seven swans a swimming",
8 => "eight maids a milking",
9 => "nine ladies dancing",
10 => "ten lords a leaping",
11 => "eleven pipers piping",
12 => "drummers drumming",
_ =>""
};
println!("{}{}", prefix, gift_text);
If anyone understands it (and can help explain it to me like I'm 5 lol) i would really appreciate it