構造体と配列を印刷するにはどうすればいいですか?- Rust 構造体または任意のデータ型をきれいに印刷するにはどうすればよいでしょうか?
もちろん、カスタム デバッグ メソッドを記述することはできます。ただし、デフォルトで印刷を有効にする方法はありますか?
1 つのオプションは、次のものを使用することです。https://docs.rs/pretty-trait/latest/pretty_trait/
ベストアンサー1
を実装するとDebug
、Rustは による「きれいな印刷」を提供します{:#?}
。std::fmt
ドキュメンテーション:
#
- このフラグは、「代替」形式の印刷を使用する必要があることを示します。代替形式は次のとおりです。
{:#?}
- きれいに印刷するDebug
書式設定(改行とインデントを追加)- [その他省略]
例:
#[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);
}
出力:
Person {
name: "Jesse",
age: 49,
hobbies: [
"crosswords",
"sudoku",
],
}