我尝试编译以下代码:
import std.algorithm;
void main()
{
string[] x = ["ab", "cd", "ef"]; // 'string' is same as 'immutable(char)[]'
string space = " ";
char z = joiner( x, space ).front(); // error
}
编译以dmd
错误结束:
test.d(8): Error: cannot implicitly convert expression (joiner(x,space).front()) of type dchar to char
更改char z
为dchar z
确实修复了错误消息,但我很感兴趣它为什么首先出现。
为什么结果joiner(string[],string).front()
是 dchar 而不是 char?
(文档http://dlang.org/phobos/std_algorithm.html#joiner对此没有任何内容)