https://issues.dlang.org/show_bug.cgi?id=13480
Jakob Ovrum <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #4 from Jakob Ovrum <[email protected]> --- (In reply to Kenji Hara from comment #3) > (In reply to Jakob Ovrum from comment #2) > > Thanks, nice to know it's possible to work around. > > > > However, I don't think this flag should need to exist. > > > > If strings were simply not quoted, one could get quoting by doing the much > > more intuitive explicit quoting: `%("%s"%|, %)`. Using '-' is just a hack - > > it has nothing to do with left-justification and thus the reader has to look > > it up to know what it does. We should follow the principle of least surprise > > here, by formatting the string as-is unless quoting is added by the user. > > Handmade quoting is not enough for strings which contain double-quote > character. > See: > > import std.stdio; > void main() { > string s = `Hello "D" world!`; > writefln("[%(%s%)]", [s]); > } > > will output: > ["Hello \"D\" world!"] > > By design, std.format.formatValue functions stringize values by using > unformattable representation with unformatValue functions by default. > That's the reason why automatic quoting is done by default. OK, good point. Thanks for explaining! --
