From 49889a15b8813614a9ff3771a7bb7e231bba3de7 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Fri, 10 Sep 2021 11:00:40 -0400 Subject: [PATCH] RBE's hello/print/print_display/testcase_list --- rustbyexample/hello/testcase_list.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rustbyexample/hello/testcase_list.rs diff --git a/rustbyexample/hello/testcase_list.rs b/rustbyexample/hello/testcase_list.rs new file mode 100644 index 0000000..2f29761 --- /dev/null +++ b/rustbyexample/hello/testcase_list.rs @@ -0,0 +1,23 @@ +use std::fmt; + +struct List(Vec); + +impl fmt::Display for List { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let vec = &self.0; + + write!(f, "[")?; + + for (count, v ) in vec.iter().enumerate() { + if count != 0 { write!(f, ", ")?; } + write!(f, "{}", v)?; + } + + write!(f, "]") + } +} + +fn main() { + let v = List(vec![1, 2, 3]); + println!("{}", v); +}