我最近一直在玩 D 语言,我有一个关于模板的快速问题。
我将字符和字符串插入到代码中的现有字符串中,并提出了这个函数:
string insert(T)(string s1, T s2, uint position) {
return s1[0 .. position] ~ s2 ~ s1[position .. $];
}
现在,我有几个问题。
我可以限制 s2 参数允许的类型(我只想要 char、wchar、dchar 等及其各自的数组值)吗?
如果位置 arg 为 0,是否有某种方法可以定义模板以自动知道要添加?像这样的东西(不编译,但给出了一般的想法):
string insert(T)(string s1, T s2, uint position) { static if (position == 0) return "" ~ s2 ~ s1; else return s1[0 .. position] ~ s2 ~ s1[position .. $]; }
谢谢