summaryrefslogtreecommitdiff
path: root/oop/src/main.rs
diff options
context:
space:
mode:
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();
-}