www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - printing array of strings with writefln?

reply "Artem Tarasov" <lomereiter gmail.com> writes:
writefln("%(%s-%)", ["a", "b", "c"]) doesn't print the intended 
a-b-c but surrounds each string with double quotes - "a"-"b"-"c", 
which I find inconsistent with the fact that writefln("%s", "a 
string") prints the string without any quotes.
How do I get the desired behaviour using just the format string?
Nov 16 2014
parent reply "JR" <zorael gmail.com> writes:
On Sunday, 16 November 2014 at 14:16:55 UTC, Artem Tarasov wrote:
 writefln("%(%s-%)", ["a", "b", "c"]) doesn't print the intended 
 a-b-c but surrounds each string with double quotes - 
 "a"-"b"-"c", which I find inconsistent with the fact that 
 writefln("%s", "a string") prints the string without any quotes.
 How do I get the desired behaviour using just the format string?
writefln("%-(%s-%)", ["a", "b", "c"]) http://ddili.org/ders/d.en/formatted_output.html
Nov 16 2014
next sibling parent "Artem Tarasov" <lomereiter gmail.com> writes:
Thanks! The Ali's book is indeed superb, covering even such minor 
details.
Nov 16 2014
prev sibling parent "Ivan Kazmenko" <gassa mail.ru> writes:
On Sunday, 16 November 2014 at 15:08:10 UTC, JR wrote:
 On Sunday, 16 November 2014 at 14:16:55 UTC, Artem Tarasov 
 wrote:
 writefln("%(%s-%)", ["a", "b", "c"]) doesn't print the 
 intended a-b-c but surrounds each string with double quotes - 
 "a"-"b"-"c", which I find inconsistent with the fact that 
 writefln("%s", "a string") prints the string without any 
 quotes.
 How do I get the desired behaviour using just the format 
 string?
writefln("%-(%s-%)", ["a", "b", "c"]) http://ddili.org/ders/d.en/formatted_output.html
What I find surprising is that "%-(ch%)" without %s inside also works, although ch is prepended to each string and not a separator (which makes sense, but still). This does not seem to be mentioned in the documentation, neither in Ali's book. Is this a bug?
Nov 17 2014