7 lines
214 B
Text
7 lines
214 B
Text
|
|
rle(a) := block(
|
||
|
|
[n: slength(a), b: "", c: charat(a, 1), k: 1],
|
||
|
|
for i from 2 thru n do
|
||
|
|
if cequal(c, charat(a, i)) then k: k + 1 else (b: sconcat(b, k, c), c: charat(a, i), k: 1),
|
||
|
|
sconcat(b, k, c)
|
||
|
|
)$
|