Rustで構造体をきれいに印刷する 質問する

Rustで構造体をきれいに印刷する 質問する

構造体と配列を印刷するにはどうすればいいですか?- 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",
    ],
}

遊び場

おすすめ記事