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. --- oop/src/main.rs | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 oop/src/main.rs (limited to 'oop/src/main.rs') 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, - average: f64, -} - -impl AveragedCollection { - pub fn add(&mut self, value: i32) { - self.list.push(value); - self.update_average(); - } - - pub fn remove(&mut self) -> Option { - 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(); -} -- cgit v1.2.3