ように私は多くの値取得列挙型文字列
enum Foo {
Bar = 0x00,
Baz = 0x01,
Qux = 0x02,
...
Quux = 0xFF
}
と列挙型を持っていると時々私は、ストリームへの値のいずれかの名前を書きたいと思います。私はDebug
を派生させることができ、
writer.write(format!("I am {:?}", Foo::Quux).as_bytes())
を出力することができます。 I am Quux
。それは私がユーザー向けの出力のためにこれをやってみたいこと
- 除き、罰金ですので、デバッグは適切ではありません
- むしろに直接書き込むよりも、(文字列として列挙型を取得するために非常に役立つだろうストリーム)を使用すると、その長さを私がやりたいと思っている幾分かぎりの書式計算に組み込むことができるからです。
これを達成する最もよい方法は何ですか。
'' std :: fmt :: {self、Debug、Display} 'を使っているなら' Debug :: fmt(self、f) 'を呼び出すだけで簡単です。 – Veedrac
あなたは正しいです、ありがとう! –