commit 5c125e7ee747c6ed5d0dd8f86f4386aff81ed5f0 Author: Yohan Boujon Date: Tue Oct 10 15:01:13 2023 +0200 Init Elves. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1de5659 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target \ No newline at end of file diff --git a/day1/Cargo.lock b/day1/Cargo.lock new file mode 100644 index 0000000..3f6f890 --- /dev/null +++ b/day1/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aoc-day1" +version = "0.1.0" diff --git a/day1/Cargo.toml b/day1/Cargo.toml new file mode 100644 index 0000000..914f0cf --- /dev/null +++ b/day1/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "aoc-day1" +version = "0.1.0" +edition = "2021" +authors = ["Yohan Boujon "] + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] + +[workspace] diff --git a/day1/src/main.rs b/day1/src/main.rs new file mode 100644 index 0000000..9a06774 --- /dev/null +++ b/day1/src/main.rs @@ -0,0 +1,28 @@ +pub struct Elf { + inventory : Vec, +} + +impl Elf { + pub fn new(vec : Vec) -> Elf { + Elf { + inventory: vec, + } + } + + pub fn print_inventory(& self) + { + for inv in &self.inventory { + println!("{}",inv) + } + } +} + +fn main() +{ + let elves = vec![Elf::new(vec![1000,2000,3000]),Elf::new(vec![4000]), Elf::new(vec![5000,6000]), Elf::new(vec![7000,8000,9000]), Elf::new(vec![10000])]; + for elf in &elves + { + println!("Elf :"); + elf.print_inventory() + } +}