From 7e8ee5ed9cad6484e9f13f81731b102ced58402e Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Tue, 9 Jul 2019 15:14:04 -0400 Subject: Init. --- rust-book/generics/Cargo.lock | 4 +++ rust-book/generics/Cargo.toml | 7 +++++ rust-book/generics/src/main.rs | 68 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100755 rust-book/generics/Cargo.lock create mode 100755 rust-book/generics/Cargo.toml create mode 100755 rust-book/generics/src/main.rs (limited to 'rust-book/generics') diff --git a/rust-book/generics/Cargo.lock b/rust-book/generics/Cargo.lock new file mode 100755 index 0000000..3ddbc8c --- /dev/null +++ b/rust-book/generics/Cargo.lock @@ -0,0 +1,4 @@ +[[package]] +name = "generics" +version = "0.1.0" + diff --git a/rust-book/generics/Cargo.toml b/rust-book/generics/Cargo.toml new file mode 100755 index 0000000..5529f73 --- /dev/null +++ b/rust-book/generics/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "generics" +version = "0.1.0" +authors = ["Adam Carpenter "] +edition = "2018" + +[dependencies] diff --git a/rust-book/generics/src/main.rs b/rust-book/generics/src/main.rs new file mode 100755 index 0000000..e41d6f5 --- /dev/null +++ b/rust-book/generics/src/main.rs @@ -0,0 +1,68 @@ +//struct Point { +// x: T, +// y: U, +//} + +//impl Point { +// fn x(&self) -> &T { +// &self.x +// } +// +// fn y(&self) -> &T { +// &self.y +// } + +// fn mixup(self, other: Point) -> Point { +// Point { +// x: self.x, +// y: other.y, +// } +// } +//} + +fn largest(list: &[T]) -> T { + let mut largest = list[0]; + + for &item in list.iter() { + + if item > largest { + largest = item; + } + + } + + largest +} + +//enum Option_i32 { +// Some(i32), +// None, +//} +// +//enum Option_f64 { +// Some(f64), +// None, +//} + +fn main() { + let number_list = vec![34, 50, 25, 100, 65]; + dbg!(largest(&number_list)); + let char_list = vec!['h', 'e', 'l', 'l', 'o']; + dbg!(largest(&char_list)); +// let integer = Point { x: 5, y: 10 }; +// let float = Point { x: 5.0, y: 10.0 }; + +// let p = Point { x: 5.0, y: 10.5 }; +// dbg!(p.x()); +// dbg!(p.y()); + +// let p1 = Point { x: 5, y: 10.4 }; +// let p2 = Point { x: "Hello", y: 'c' }; +// let p3 = p1.mixup(p2); +// +// dbg!(p3.x); +// dbg!(p3.y); + +// let integer = Option_i32::Some(5); +// let float = Option_f64::Some(5.0); +} -- cgit v1.2.3