writefln()抛出:格式说明符不正确:%(%s,%)

Tar*_*Tar 1 d dmd

为什么会抛出异常:

import std.stdio;

void main(string[] args) {
    try{
        writefln("My items are %(%s, %).", [1,2,3]);
    }catch(Exception x){
        writefln("oops: %s", x.msg);
    }
}
Run Code Online (Sandbox Code Playgroud)

(您可以在Ideone.com上构建和测试代码)

我得到的结果是:

My items are oops: /usr/lib/dmd2/src/phobos/std/format.d(1592): 
Incorrect format specifier: %(%s, %).
Run Code Online (Sandbox Code Playgroud)

根据http://dlang.org/phobos/std_format.html它应该工作...

Vla*_*eev 7

请使用更新的D编译器.您可以从http://dlang.org/download.html下载最新版本的参考D编译器,也可以在http://dpaste.dzfl.pl/上在线编译和运行D程序.