Anonymous user
Run-length encoding: Difference between revisions
→{{header|Racket}}
(Updated D Short Functional Version) |
|||
Line 2,556:
output <- "12W1B12W3B24W1B14W"
inverserunlengthencoding(output)</lang>
=={{header|Racket}}==
<lang Racket>
#lang racket
(define (encode str)
(regexp-replace* #px"(.)\\1*" str
(λ (m c) (~a (string-length m) c))))
(define (decode str)
(regexp-replace* #px"([0-9]+)(.)" str
(λ (m n c) (make-string (string->number n)
(string-ref c 0)))))
</lang>
=={{header|REXX}}==
|