RosettaCodeData/Task/Run-length-encoding/D/run-length-encoding-1.d

14 lines
325 B
D
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
import std.algorithm, std.array;
alias encode = group;
auto decode(Group!("a == b", string) enc) {
return enc.map!(t => [t[0]].replicate(t[1])).join;
}
void main() {
immutable s = "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWW" ~
"WWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW";
assert(s.encode.decode.equal(s));
}