我反复需要连接格式字符串,并且想知道在 D 中连接 writefln() 函数之外的字符串的最短(或最容易阅读)方法是什么?
也就是说,我喜欢 writefln 的行为,例如:
// Some code to init y="2013", m="01", d="02" ...
writefln("%s-%s-%s", y, m, d);
...但我想这样做而不把它写在标准输出上。有没有同样简单的方法?
我发现的唯一想法是 std.string 中的格式函数,但这需要您提供预定义长度的字符串缓冲区作为第一个参数,这在大多数情况下很不方便。
我发现的另一种选择是(通过在 std.array 中使用“join”):
// Some code to init y="2013", m="01", d="02" ...
datestr = [y, m, d].join("-");
...这很方便,但当然只有在您使用相同的“分隔符”时才有效。
任何更通用的方法来做到这一点,比上面的例子更短,并且不需要提供预定义长度的缓冲区字符串?