加入一个字符串数组

时间:2014-09-12 14:24:42

标签: d

问题很简单。我正在寻找一种简单有效的方法来连接字符串数组(或任何其他类型的数组,因为字符串是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程序员会做什么?

2 个答案:

答案 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以获取延迟版本并且不分配任何内存。