From 5c125e7ee747c6ed5d0dd8f86f4386aff81ed5f0 Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Tue, 10 Oct 2023 15:01:13 +0200 Subject: [PATCH] Init Elves. --- .gitignore | 1 + day1/Cargo.lock | 7 +++++++ day1/Cargo.toml | 11 +++++++++++ day1/src/main.rs | 28 ++++++++++++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 .gitignore create mode 100644 day1/Cargo.lock create mode 100644 day1/Cargo.toml create mode 100644 day1/src/main.rs 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() + } +}