On Wednesday, 21 March 2012 at 01:26:23 UTC, bearophile wrote:
import std.stdio;
void main() {
     auto mat = [[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]];

     writefln("%(%(%d %)\n%)", mat);
     writeln();

     writefln("[%(%(%d %)\n%)]", mat);
     writeln();

     writefln("[%([%(%d %)]\n%)]", mat);
     writeln();
}

Prints:

1 2 3
4 5 6
7 8 9

[1 2 3
4 5 6
7 8 9]

[[1 2 3]
[4 5 6]
[7 8 9]


Do you know why the last closed square bracket is missing?

You can use %| format specifier to specify element separator.

(It was proposed in https://github.com/D-Programming-Language/phobos/pull/298 .
It is not yet documented, but already merged in Phobos.)

import std.stdio;
void main() {
     auto mat = [[1, 2, 3],
                 [4, 5, 6],
                 [7, 8, 9]];

     writefln("[%([%(%d %)]%|\n%)]", mat);
     // specify "\n" as a separator
}

Prints:

[[1 2 3]
[4 5 6]
[7 8 9]]

Reply via email to