Pretty print struct in Rust
Mia Lopez
How to print structs and arrays? - how does one pretty print a rust struct or any data type?
Sure, one can write the custom Debug method. But is there some way which enables the print by default?
One option is to use:
51 Answer
When you implement Debug, Rust provides "pretty printing" with {:#?}. From the std::fmt documentation:
#- This flag indicates that the “alternate” form of printing should be used. The alternate forms are:
{:#?}- pretty-print theDebugformatting (adds linebreaks and indentation)- [others omitted]
Example:
#[derive(Debug)]
struct Person { name: &'static str, age: u8, hobbies: Vec<&'static str>,
}
fn main() { let peter = Person { name: "Jesse", age: 49, hobbies: vec!["crosswords", "sudoku"], }; println!("{:#?}", peter);
}Output:
Person { name: "Jesse", age: 49, hobbies: [ "crosswords", "sudoku", ],
} 5