Execute a Markov algorithm: Difference between revisions
Content added Content deleted
m (→{{header|C++}}) |
(→{{header|D}}: improved regex to filter out comments) |
||
Line 956: | Line 956: | ||
string[][] capt; |
string[][] capt; |
||
foreach (line; rule) { |
foreach (line; rule) { |
||
auto m = match(line, r"( |
auto m = match(line, r"^([^#]*?)\s+->\s+(\.?)(.*)"); |
||
if(!m.empty) capt ~= array(m.captures)[1..$]; |
if (!m.empty) capt ~= array(m.captures)[1 .. $]; |
||
} |
} |
||
redo: |
redo: |
||
Line 972: | Line 972: | ||
auto readFile(in string fn) { |
auto readFile(in string fn) { |
||
string[][] res; |
string[][] res; |
||
foreach(a; split(cast(string)read(fn), newline~newline)) |
foreach (a; split(cast(string)read(fn), newline~newline)) |
||
res ~= splitlines(a); |
res ~= splitlines(a); |
||
return res; |
return res; |