在d std.regex.regex()不是纯:std.regex.regex()不纯。为什么?
import std.regex;
pure void test() // test.d(5): Error: pure function 'test' cannot call impure function 'regex'
{
auto r = regex(r"patern123", "g");
}
为什么?
是否
A.没有足够的pure
关键字英寸
或
B.存在着一些深层次的原因
也许这是由于'std.regex'做了一些缓存的事实。 – Mat 2013-02-17 11:50:45
@Mat这是一个答案或只是一个普遍的想法/猜测? (“也许”可能是讽刺的标志,但我不确定) – dnsmkl 2013-02-17 15:00:58
我不知道D及其“纯度”的定义。所以这是一个猜测。根本不是讽刺,如果听起来那么抱歉。 – Mat 2013-02-17 15:01:51