Some enum example

This commit is contained in:
laurens 2020-05-22 16:45:58 +02:00
parent 086a603bab
commit e53f4ccb53
2 changed files with 30 additions and 0 deletions

9
some_example/Cargo.toml Normal file
View file

@ -0,0 +1,9 @@
[package]
name = "some_example"
version = "0.1.0"
authors = ["laurens <miers132@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

21
some_example/src/main.rs Normal file
View file

@ -0,0 +1,21 @@
fn plus_one(x: Option<i32>) -> Option<i32> {
match x {
None => None,
Some(i) => Some(i+1),
}
}
fn main() {
let x = 5;
println!("Val: {}, plus one: {}", x, plus_one(Some(x)).unwrap_or(1));
let x = Some(x);
println!("Val: {}, plus one: {}", x.unwrap(), plus_one(x).expect("Bad val"));
let x = None;
println!("Val of none with default of 1: {}", x.unwrap_or(1));
println!("Val of none with expect will panic: {}", x.expect("This will be panic because we have a None value"));
}