Compare commits
No commits in common. "b94fb3b31e23f21d4d6b1075a50f880f4c3112ab" and "6e50ec65f8b92cfc008564e2f503de8bea41549e" have entirely different histories.
b94fb3b31e
...
6e50ec65f8
@ -1,25 +0,0 @@
|
|||||||
fn main() {
|
|
||||||
let number = Some(7);
|
|
||||||
let letter: Option<i32> = None;
|
|
||||||
let emoticon: Option<i32> = None;
|
|
||||||
|
|
||||||
if let Some(i) = number {
|
|
||||||
println!("Matched {:?}!", i);
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(i) = letter {
|
|
||||||
println!("Matched {:?}!", i);
|
|
||||||
} else {
|
|
||||||
println!("Didn't match a number. Let's go with a letter!");
|
|
||||||
}
|
|
||||||
|
|
||||||
let i_like_letters = false;
|
|
||||||
|
|
||||||
if let Some(i) = emoticon {
|
|
||||||
println!("Matched {:?}!", i);
|
|
||||||
} else if i_like_letters {
|
|
||||||
println!("Didn't match a number. Let's go with a letter!");
|
|
||||||
} else {
|
|
||||||
println!("I don't like letters. Let's go with an emoticon :)!");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
enum Foo {
|
|
||||||
Bar,
|
|
||||||
Baz,
|
|
||||||
Qux(u32),
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
let a = Foo::Bar;
|
|
||||||
let b = Foo::Baz;
|
|
||||||
let c = Foo::Qux(100);
|
|
||||||
|
|
||||||
if let Foo::Bar = a {
|
|
||||||
println!("a is a foobar");
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Foo::Bar = b {
|
|
||||||
println!("b is foobar");
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Foo::Qux(value) = c {
|
|
||||||
println!("c is {}", value);
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Foo::Qux(value @ 100) = c {
|
|
||||||
println!("c is one hundred (value: {:?})", value);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
enum Foo {
|
|
||||||
Bar,
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
let a = Foo::Bar;
|
|
||||||
|
|
||||||
if let Foo::Bar = a {
|
|
||||||
println!("a is foobar");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
fn get_count_item(s: &str) -> (u64, &str) {
|
|
||||||
let mut it = s.split(' ');
|
|
||||||
let (Some(count_str), Some(item)) = (it.next(), it.next()) else {
|
|
||||||
panic!("Can't segment count item pair: '{s}'");
|
|
||||||
};
|
|
||||||
let Ok(count) = u64::from_str(count_str) else {
|
|
||||||
panic!("Can't parse integer: '{count_str}'");
|
|
||||||
};
|
|
||||||
(count, item)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
assert_eq!(get_count_item("3 chairs"), (3, "chairs"));
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
fn main() {
|
|
||||||
let mut optional = Some(0);
|
|
||||||
|
|
||||||
while let Some(i) = optional {
|
|
||||||
if i > 9 {
|
|
||||||
println!("Greater than 9, quit!");
|
|
||||||
optional = None;
|
|
||||||
} else {
|
|
||||||
println!("`i` is `{:?}`. Try again.", i);
|
|
||||||
optional = Some(i + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user