Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- defmodule Runlength do
- def encode(<< first :: binary-size(1) , rest :: binary>>) do
- encode({first, 1}, rest, "")
- end
- def encode({letter, count}, << letter :: binary-size(1) , rest :: binary>>, result) do
- encode({letter, count + 1}, rest, result)
- end
- def encode({letter, count}, << diff :: binary-size(1) , rest :: binary>>, result) do
- result = result <> to_string(count) <> letter
- encode({diff, 1}, rest, result)
- end
- def encode({letter, count}, <<>>, result) do
- result <> to_string(count) <> letter
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement