RosettaCodeData/Task/Run-length-encoding/EasyLang/run-length-encoding.easy

34 lines
544 B
Text
Raw Permalink Normal View History

2023-09-16 17:28:03 -07:00
func$ rlenc in$ .
2023-07-01 11:58:00 -04:00
for c$ in strchars in$
if c$ = c0$
cnt += 1
else
if cnt > 0
out$ &= cnt & c0$ & " "
.
c0$ = c$
cnt = 1
.
.
out$ &= cnt & c0$
2023-09-16 17:28:03 -07:00
return out$
2023-07-01 11:58:00 -04:00
.
2023-09-16 17:28:03 -07:00
func$ rldec in$ .
2023-07-01 11:58:00 -04:00
for h$ in strsplit in$ " "
c$ = substr h$ len h$ 1
for i to number h$
out$ &= c$
.
.
2023-09-16 17:28:03 -07:00
return out$
2023-07-01 11:58:00 -04:00
.
s$ = input
print s$
2023-09-16 17:28:03 -07:00
s$ = rlenc s$
2023-07-01 11:58:00 -04:00
print s$
2023-09-16 17:28:03 -07:00
s$ = rldec s$
2023-07-01 11:58:00 -04:00
print s$
#
input_data
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW