Ich möchte schreiben dieseWie geschweiften Klammern in einem Format-String in Rust
write!(f, "{ hash:{}, subject: {} }", self.hash, self.subject)
Aber da geschweiften Klammern haben eine besondere Bedeutung für die Formatierung ist es klar, zu entkommen, dass ich nicht die äußeren geschweiften Klammern so platzieren können, ohne entkommt. Also habe ich versucht, ihnen zu entkommen.
write!(f, "\{ hash:{}, subject: {} \}", self.hash, self.subject)
Rust mag das auch nicht. Dann lese ich das:
Die Literalzeichen {,} oder # können in einer Zeichenfolge enthalten sein, indem Sie ihnen das Zeichen \ voranstellen. Da \ in Rust-Strings bereits ein Escape-Zeichen ist, sieht ein String-Literal mit diesem Escape wie "\ {" aus. So
Ich versuchte
write!(f, "\\{ hash:{}, subject: {} \\}", self.hash, self.subject)
Aber das ist auch nicht funktioniert. :-(
Was meinen Sie mit "nicht arbeiten"? Ist es ein Laufzeitfehler (d. H. Eine Ausgabe, die Sie nicht erwarten) oder ein Kompilierzeitfehler? – huon
Es war ein Kompilierzeitfehler. Aber es ist mit der Antwort von Nos gelöst. – Christoph
Oh, bitte in Zukunft bitte Compiler-Ausgang, und vorzugsweise die Version. Dies ist besonders wichtig für Rust, da sich der Compiler dramatisch verändern kann; was hier der Fall ist, das Verhalten auf Master (was ich denke, ist die Dokumente, die Sie gelesen haben), unterscheidet sich von 0,11. – huon