summaryrefslogtreecommitdiff
path: root/oop/src/main.rs
diff options
context:
space:
mode:
authorAdam Carpenter <53hornet@gmail.com>2019-03-27 15:32:37 -0400
committerAdam Carpenter <53hornet@gmail.com>2019-03-27 15:32:37 -0400
commit67cdcc2e12118becb823e20a40cc2687f2b8425a (patch)
treeed92c3234b89079e6d4cf36f5e80c5ffa79def48 /oop/src/main.rs
parente25482fca375d318a39c3b54db396b0db6e0b263 (diff)
downloadlearning-rust-67cdcc2e12118becb823e20a40cc2687f2b8425a.tar.xz
learning-rust-67cdcc2e12118becb823e20a40cc2687f2b8425a.zip
Started Rust in Action MEAP.
Diffstat (limited to 'oop/src/main.rs')
-rw-r--r--oop/src/main.rs56
1 files changed, 0 insertions, 56 deletions
diff --git a/oop/src/main.rs b/oop/src/main.rs
deleted file mode 100644
index e92c07c..0000000
--- a/oop/src/main.rs
+++ /dev/null
@@ -1,56 +0,0 @@
-use oop::{Screen, Button, SelectBox};
-
-pub struct AveragedCollection {
- list: Vec<i32>,
- average: f64,
-}
-
-impl AveragedCollection {
- pub fn add(&mut self, value: i32) {
- self.list.push(value);
- self.update_average();
- }
-
- pub fn remove(&mut self) -> Option<i32> {
- let result = self.list.pop();
- match result {
- Some(value) => {
- self.update_average();
- Some(value)
- },
- None => None,
- }
- }
-
- pub fn average(&self) -> f64 {
- self.average
- }
-
- fn update_average(&mut self) {
- let total: i32 = self.list.iter().sum();
- self.average = total as f64 / self.list.len() as f64;
- }
-}
-
-fn main() {
- let screen = Screen {
- components: vec![
- Box::new(SelectBox {
- width: 75,
- height: 10,
- options: vec![
- String::from("Yes"),
- String::from("Maybe"),
- String::from("No")
- ],
- }),
- Box::new(Button {
- width: 50,
- height: 10,
- label: String::from("OK"),
- }),
- ],
- };
-
- screen.run();
-}