Compare commits

...

3 Commits

2 changed files with 46 additions and 0 deletions

View File

@ -21,6 +21,18 @@ impl fmt::Display for Point2D {
}
}
#[derive(Debug)]
struct Complex {
real: f64,
imag: f64,
}
impl fmt::Display for Complex {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{} + {}i", self.real, self.imag)
}
}
fn main() {
let minmax = MinMax(0, 14);
@ -42,4 +54,13 @@ fn main() {
println!("Compare points:");
println!("Display: {}", point);
println!("Debug: {:?}", point);
let cmplx = Complex {
real: 3.3,
imag: 7.2,
};
println!("Compare complexes:");
println!("Display: {}", cmplx);
println!("Debug: {:?}", cmplx);
}

View File

@ -0,0 +1,25 @@
use std::fmt;
struct List(Vec<i32>);
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, "{}: {}", count, v)?;
}
write!(f, "]")
}
}
fn main() {
let v = List(vec![1, 2, 3]);
println!("{}", v);
}