diff --git a/rust/src/gildedrose.rs b/rust/src/gildedrose.rs index acb7d6e2..876da88c 100644 --- a/rust/src/gildedrose.rs +++ b/rust/src/gildedrose.rs @@ -1,3 +1,4 @@ +use std::fmt::{self, Display}; pub struct Item { pub name: String, pub sell_in: i32, @@ -14,6 +15,12 @@ impl Item { } } +impl Display for Item { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{}, {}, {}", self.name, self.sell_in, self.quality) + } +} + pub struct GildedRose { pub items: Vec, } diff --git a/rust/src/main.rs b/rust/src/main.rs index 6d0f0193..ceda22dd 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -34,7 +34,7 @@ fn main() { println!("-------- day {} --------", i); println!("name, sellIn, quality"); for item in &rose.items { - println!("{}, {}, {}", item.name, item.sell_in, item.quality); + println!("{}", item); } println!(); rose.update_quality();