嘿伙计们,我试图让这些语法对我有意义:
S[] split(S)(S s) if (isSomeString!S)
{
...
}
和
string join(in string[] words, string sep)
{
...
}
(如中所见phobos/src/std/string.d
)
据我所知,这段代码可以让我们执行以下操作:
string[] parts = "/foo/bar/baz".split("/"); // string[] {"foo", "bar", "baz"}
string part = parts.join("-"); // string "foo-bar-baz"
这基本上让我相信像我从 CSharp 知道的扩展方法之类的东西在 d 中是可能的。我遇到的问题是:
- 我不是 100% 确定我在这里查看正确的函数声明
- 我看不出是什么让它们相似。