1
0
Fork 0
mirror of https://github.com/notohh/rustlings.git synced 2025-07-03 15:39:15 -04:00

option2 solution

This commit is contained in:
mo8it 2024-06-26 14:35:05 +02:00
parent c31e15c4cf
commit a91888e79e
3 changed files with 44 additions and 8 deletions
exercises/12_options

View file

@ -9,7 +9,7 @@ mod tests {
let target = "rustlings";
let optional_target = Some(target);
// TODO: Make this an if let statement whose value is "Some" type
// TODO: Make this an if-let statement whose value is `Some`.
word = optional_target {
assert_eq!(word, target);
}
@ -20,15 +20,15 @@ mod tests {
let range = 10;
let mut optional_integers: Vec<Option<i8>> = vec![None];
for i in 1..(range + 1) {
for i in 1..=range {
optional_integers.push(Some(i));
}
let mut cursor = range;
// TODO: make this a while let statement - remember that vector.pop also
// adds another layer of Option<T>. You can stack `Option<T>`s into
// while let and if let.
// 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;