From 67cdcc2e12118becb823e20a40cc2687f2b8425a Mon Sep 17 00:00:00 2001 From: Adam Carpenter <53hornet@gmail.com> Date: Wed, 27 Mar 2019 15:32:37 -0400 Subject: Started Rust in Action MEAP. --- patterns/src/main.rs | 316 --------------------------------------------------- 1 file changed, 316 deletions(-) delete mode 100644 patterns/src/main.rs (limited to 'patterns/src/main.rs') diff --git a/patterns/src/main.rs b/patterns/src/main.rs deleted file mode 100644 index 4ee101d..0000000 --- a/patterns/src/main.rs +++ /dev/null @@ -1,316 +0,0 @@ -fn main() { -// let favorite_color: Option<&str> = None; -// let is_tuesday = false; -// let age: Result = "34".parse(); -// -// if let Some(color) = favorite_color { -// dbg!(color); -// } -// else if is_tuesday { -// dbg!("green"); -// } -// else if let Ok(age) = age { -// if age > 30 { -// dbg!("purple"); -// } -// else { -// dbg!("orange"); -// } -// } -// else { -// dbg!("blue"); -// } - - -// let mut stack = Vec::new(); -// -// stack.push(1); -// stack.push(2); -// stack.push(3); -// -// while let Some(top) = stack.pop() { -// dbg!(top); -// } - - -// let v = vec!['a', 'b', 'c']; -// -// for (_, value) in v.iter().enumerate() { -// //println!("{} is at index {}", value, index); -// dbg!(value); -// } - - -// let (..) = (1, 2, 3); - - -// let point = (3, 5); -// print_coords(&point); - - -// let Some(x) = Some(5); -// if let Some(x) = Some(5) { -// dbg!(x); -// } -// if let x = 5 { -// dbg!(x); -// }; - - -// let x = 1; -// -// match x { -// 1 => dbg!("one"), -// 2 => dbg!("two"), -// 3 => dbg!("three"), -// _ => dbg!("else"), -// }; - - - -// let x = Some(5); -// let y = 10; -// -// match x { -// Some(50) => println!("got 50"), -// Some(y) => println!("matched, y == {:?}", y), -// _ => println!("default: x == {:?}", x), -// } -// -// println!("end: x == {:?}, y == {:?}", x, y); - - -// let x = 5; -// -// match x { -// 1 ... 5 => println!("one through five"), -// _ => println!("else"), -// } - - -// let x = 'w'; -// -// match x { -// 'a' ... 'j' => println!("early ascii char"), -// 'k' ... 'z' => println!("late ascii char"), -// _ => println!("else"), -// } - - - -// let p = Point { x: 0, y: 7 }; -// //let Point { x: a, y: b } = p; -// let Point { x, y } = p; -// assert_eq!(0, x); -// assert_eq!(7, y); - - -// let p = Point { x: 1, y: 0 }; -// -// match p { -// Point { x, y: 0 } => dbg!("x-axis"), -// Point { x: 0, y } => dbg!("y-axis"), -// Point { x, y } => dbg!("neither"), -// }; - - -// //let msg = Message::ChangeColor(0, 160, 255); -// //let msg = Message::Write(String::from("hi there")); -// //let msg = Message::Move { -// // x: 1, -// // y: 2, -// //}; -// let msg = Message::ChangeColor(Color::Hsv(0, 160, 255)); -// -// match msg { -// Message::Quit => { -// println!("the quit variant has no data to destructure.") -// }, -// Message::Move { x, y } => { -// println!( -// "Move in the direction {}, {}", -// x, -// y -// ); -// } -// Message::Write(text) => println!("text message: {}", text), -// Message::ChangeColor(Color::Rgb(r, g, b)) => { -// println!( -// "Change the color to RGB {}{}{}", -// r, -// g, -// b -// ) -// } -// Message::ChangeColor(Color::Hsv(h, s, v)) => { -// println!( -// "Change the color to HSV {}{}{}", -// h, -// s, -// v -// ) -// } -// } - - -// let points = vec![ -// Point { x: 0, y: 0 }, -// Point { x: 1, y: 5 }, -// Point { x: 10, y: -3 }, -// ]; -// -// let sum_of_squares: i32 = points -// .iter() -// .map(|&Point { x, y } | x * x + y * y) -// .sum(); -// dbg!(sum_of_squares); -// -// -// let ((feet, inches), Point { x, y }) = ((3, 10), Point { x: 3, y: -10 }); - - -// foo(3, 4); - - -// let mut setting_value = Some(5); -// //let new_setting_value = Some(10); -// let new_setting_value = None; -// -// match (setting_value, new_setting_value) { -// (Some(_), Some(_)) => { -// println!("can't overwrite existing customized value."); -// } -// _ => { -// setting_value = new_setting_value; -// } -// } -// -// println!("setting is {:?}", setting_value); -// -// -// let numbers = (2, 4, 8, 16, 32); -// -// match numbers { -// (first, _, third, _, fifth) => { -// println!("numbers: {}, {}, {}", first, third, fifth) -// }, -// } -// -// -// let _x = 5; -// let _y = 10; -// -// -// let s = Some(String::from("hello")); -// -// if let Some(_) = s { -// println!("found a string"); -// } -// -// println!("{:?}", s); - - -// let origin = Point { x: 1, y: 2, z: 3 }; -// -// match origin { -// Point {x, .. } => dbg!(x), -// }; -// -// let numbers = (2, 4, 8, 16, 32); -// -// match numbers { -// (first, .., last) => { -// dbg!(first); -// dbg!(last); -// }, -// } - - -// let num = Some(4); -// -// let test = match num { -// Some(x) if x < 5 => println!("{}", x), -// Some(x) => println!("{}", x), -// None => (), -// }; - - -// let x = Some(10); -// let y = 10; -// -// match x { -// Some(50) => println!("got 50"), -// Some(n) if n == y => println!("{:?}", n), -// _ => println!("{:?}", x), -// } -// -// println!("{:?} {:?}", x, y); - - -// let x = 4; -// let y = false; -// -// match x { -// 4 | 5 | 6 if y => println!("yes"), -// _ => println!("no"), -// } - - - enum Message { - Hello { id: i32 }, - } - - let msg = Message::Hello { id: 13 }; - - match msg { - Message::Hello { id: id_variable @ 3...7 } => { - println!("{}", id_variable) - }, - Message::Hello { id: 10...12 } => { - println!("another range") - }, - Message::Hello { id } => { - println!("else") - }, - } - - - println!("Done."); -} - - -//struct Point { -// x: i32, -// y: i32, -// z: i32, -//} - - -//fn foo(_: i32, y: i32) { -// println!("this code only uses y: {}", y); -//} - - -//fn print_coords(&(x, y): &(i32, i32)) { -// println!("{}, {}", x, y); -//} - - -//struct Point { -// x: i32, -// y: i32, -//} - - -//enum Message { -// Quit, -// Move { x: i32, y: i32 }, -// Write(String), -// ChangeColor(Color), -//} -// -// -//enum Color { -// Rgb(i32, i32, i32), -// Hsv(i32, i32, i32) -//} -- cgit v1.2.3