trpl-zh-cn/listings/ch19-advanced-features/listing-19-22/src/main.rs
2022-02-06 16:43:51 +08:00

18 lines
429 B
Rust
Executable File

// ANCHOR: here
use std::fmt;
trait OutlinePrint: fmt::Display {
fn outline_print(&self) {
let output = self.to_string();
let len = output.len();
println!("{}", "*".repeat(len + 4));
println!("*{}*", " ".repeat(len + 2));
println!("* {} *", output);
println!("*{}*", " ".repeat(len + 2));
println!("{}", "*".repeat(len + 4));
}
}
// ANCHOR_END: here
fn main() {}