From 0528776033f42fabf659f499260fb1f05361f290 Mon Sep 17 00:00:00 2001 From: Christopher Williams Date: Mon, 24 Mar 2025 13:36:22 -0400 Subject: [PATCH] Initial commit --- krabs/Cargo.lock | 7 +++++++ krabs/Cargo.toml | 6 ++++++ krabs/src/main.rs | 36 ++++++++++++++++++++++++++++++++++++ krabs/src/structs.rs | 19 +++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 krabs/Cargo.lock create mode 100644 krabs/Cargo.toml create mode 100644 krabs/src/main.rs create mode 100644 krabs/src/structs.rs diff --git a/krabs/Cargo.lock b/krabs/Cargo.lock new file mode 100644 index 0000000..55e4ff0 --- /dev/null +++ b/krabs/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "krabs" +version = "0.1.0" diff --git a/krabs/Cargo.toml b/krabs/Cargo.toml new file mode 100644 index 0000000..6d86a94 --- /dev/null +++ b/krabs/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "krabs" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/krabs/src/main.rs b/krabs/src/main.rs new file mode 100644 index 0000000..d9cb70f --- /dev/null +++ b/krabs/src/main.rs @@ -0,0 +1,36 @@ +fn create_krabs(name: String, age: u32) -> Krabs { + Krabs::new(name, age) +} + +fn init_multiple_krabs() -> Vec { + let mut krabs = vec![]; + krabs.push(create_krabs("Eugene Krabs".to_string(), 78)); + krabs.push(create_krabs("Pearl Krabs".to_string(), 16)); + krabs +} + +fn does_krabs_exist_in_vector(krabs: &Vec, name: &str) -> bool { + for krab in krabs { + if krab.get_name() == name { + return true; + } + } + false +} + +fn main() { + let krabs = create_krabs("Spongebob Squarepants".to_string(), 20); + println!("Name: {}", krabs.get_name()); + println!("Age: {}", krabs.get_age()); + + let krabs = init_multiple_krabs(); + for krab in krabs { + println!("Name: {}", krab.get_name()); + println!("Age: {}", krab.get_age()); + } + + let exists = does_krabs_exist_in_vector(&krabs, "Eugene Krabs"); + println!("Does Eugene Krabs exist in the vector? {}", exists); + let exists = does_krabs_exist_in_vector(&krabs, "Squidward Tentacles"); + println!("Does Squidward Tentacles exist in the vector? {}", exists); +} diff --git a/krabs/src/structs.rs b/krabs/src/structs.rs new file mode 100644 index 0000000..bf8cb53 --- /dev/null +++ b/krabs/src/structs.rs @@ -0,0 +1,19 @@ +struct Krabs { + pub name: String, + pub age: u32, + years_in_bikini_bottom: u32, +} + +impl Krabs { + pub fn new(name: String, age: u32) -> Self { + Krabs { name, age } + } + + pub fn get_name(&self) -> &str { + &self.name + } + + pub fn get_age(&self) -> u32 { + self.age + } +} \ No newline at end of file