Ho un enum con molti valoriGet enum come stringa
enum Foo {
Bar = 0x00,
Baz = 0x01,
Qux = 0x02,
...
Quux = 0xFF
}
e qualche volta mi piacerebbe scrivere il nome di uno dei suoi valori in un flusso. Posso ricavare Debug
e fare
writer.write(format!("I am {:?}", Foo::Quux).as_bytes())
che sarà in uscita ad esempio I am Quux
. Va bene, se non che
- che voglio fare questo per l'uscita utente rivolto, in modo debug non è appropriato
- Sarebbe molto utile per ottenere l'enumerazione come una stringa (piuttosto che scrivere direttamente a un flusso), perché quindi posso incorporare la sua lunghezza in alcuni calcoli di formattazione vistosi che voglio fare.
Qual è il modo migliore per raggiungere questo obiettivo?
Se si usa std :: fmt :: {self, Debug, Display} ', la semplice chiamata di' Debug :: fmt (self, f) 'è più semplice. – Veedrac
Hai ragione, grazie! –