在writefln()之外连接D中字符串的最短方法?
我反复需要连接格式字符串,并且想知道在D中,在writefln()函数之外连接字符串的最短(或最容易阅读)方法是什么 也就是说,我喜欢writefln的行为,您可以执行以下操作:在writefln()之外连接D中字符串的最短方法?,d,phobos,D,Phobos,我反复需要连接格式字符串,并且想知道在D中,在writefln()函数之外连接字符串的最短(或最容易阅读)方法是什么 也就是说,我喜欢writefln的行为,您可以执行以下操作: // Some code to init y="2013", m="01", d="02" ... writefln("%s-%s-%s", y, m, d); 。。。但是我不想把它写在标准输出上。有没有同样简单的方法 我发现的唯一一个想法是std.string中的函数,但这要求您提供预定义长度的字符串缓冲区作为第一
// Some code to init y="2013", m="01", d="02" ...
writefln("%s-%s-%s", y, m, d);
。。。但是我不想把它写在标准输出上。有没有同样简单的方法
我发现的唯一一个想法是std.string中的函数,但这要求您提供预定义长度的字符串缓冲区作为第一个参数,这在大多数情况下都不方便
我发现的另一种选择是(通过在std.array中使用“join”)执行以下操作:
。。。这非常方便,但只有在使用相同的“分隔符”时才有效
是否有比上述示例更短、且不需要提供预定义长度的缓冲区字符串的更通用方法?您似乎将
格式
与格式
混淆了<代码>格式正是您想要的:
datestr = format("%s-%s-%s", y, m, d);
更好的方法是:在编译时而不是运行时捕获格式字符串和参数之间的潜在不匹配:
datestr = format!"%s-%s-%s"(y, m, d);
串接字符串的最基本方法是使用
~
:
datestr = y ~ "-" ~ m ~ "-" ~ d;
更多信息:啊,事实上,我不知怎么搞砸了。谢谢!
datestr = y ~ "-" ~ m ~ "-" ~ d;