问题很简单。我正在寻找一种简单有效的方法来连接字符串数组(或任何其他类型的数组,因为字符串是char[]
的别名),并带有可选的分隔符。
在JavaScript中,join
方法已存在此功能。作为D的新手,我没有找到像标准库中那样简单的东西。如果我不得不自己实现一个效用函数那就太糟糕了。
所以不要这样:
string merge (const string arr[] , const string separator) {
if (arr.length == 0) return "";
string r = arr[0];
for (int i = 1 ; i < arr.length ; i++) {
r ~= separator ~ arr[i];
}
return r;
}
有经验的D程序员会做什么?
答案 0 :(得分:4)
我不是D程序员,但我会对它进行修改,即库引用has a join method。
来自文档:
const string[] arr = ["apple", "banana"];
assert(arr.join(",") == "apple,banana");
assert(arr.join() == "applebanana");
答案 1 :(得分:3)
另请参阅std.algorithm.joiner
以获取延迟版本并且不分配任何内存。