Completed exercise up to Traits

This commit is contained in:
Samuele Iacoponi
2026-02-01 16:38:57 +01:00
parent 9ef3441dba
commit b1b81f7e07
33 changed files with 732 additions and 71 deletions

View File

@@ -10,7 +10,10 @@ mod tests {
let optional_target = Some(target);
// TODO: Make this an if-let statement whose value is `Some`.
word = optional_target {
// word = optional_target {
// assert_eq!(word, target);
// }
if let Some(word) = optional_target {
assert_eq!(word, target);
}
}
@@ -29,10 +32,16 @@ mod tests {
// TODO: Make this a while-let statement. Remember that `Vec::pop()`
// adds another layer of `Option`. You can do nested pattern matching
// in if-let and while-let statements.
integer = optional_integers.pop() {
assert_eq!(integer, cursor);
cursor -= 1;
while let Some(integer) = optional_integers.pop() {
if let Some(integer_value) = integer {
println!("integer_value (left): {}, cursor (right): {}", integer_value, cursor);
assert_eq!(integer_value, cursor);
cursor -= 1;
} else {
println!("None value, cursor: {}", cursor);
}
}
assert_eq!(cursor, 0);
}