Anonymous user
Run-length encoding: Difference between revisions
→{{header|Tcl}}: shorten the encoder by leveraging foreach and regexp
m (→{{header|Smalltalk}}: works with + nl) |
(→{{header|Tcl}}: shorten the encoder by leveraging foreach and regexp) |
||
Line 989:
=={{header|Tcl}}==
The encoding is an even-
<lang tcl>proc encode {string} {
set encoding
# use a regular expression to match runs of one character
foreach {run -} [regexp
}
return $encoding
Line 1,006 ⟶ 1,004:
}
return $decoded
}</lang>
<lang tcl>set str "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW"
set enc [encode $str] ;# ==> {12 W 1 B 12 W 3 B 24 W 1 B 14 W}
set dec [decode $enc]
|