У меня есть несколько регулярных выражений, которые нужно применять подряд. Например:
import std.regex;
auto ctrex1 = ctRegex!(`def\s\n`);
auto ctrex2 = ctRegex!(`func\(`);
Я бы хотел обернуть их в массив и использовать в качестве аргумента функции.
StaticRegex!char[] staticRegexes = [ctrex1, ctrex2];
Однако это не работает и компилятор выдает
Error: static variable ctrex1 cannot be read at compile time
Я наивно понимаю, что после того, как компилятор читает и компилирует ctrex1
и ctrex2
, у него не должно быть проблем с компиляцией массива для этих объекты позже ниже. Предполагая, что он просто читает заявления сверху вниз. Но, похоже, мое понимание неверно. Как работает компилятор в этом случае и как мне создать массив регулярных выражений c?