Slide 30
Slide 30 text
"PUTS DEBUGGING"
STEP 1 - REQUIRE IEX
STEP 2 - START THE PROGRAM ("IEX RLE.EXS")
defmodule RunLengthEncoder do
@encoder [] # use keyword list instead of map
@spec encode(String.t) :: String.t
def encode(string) do
require IEx; IEx.pry
String.split(string,"")
# reject blank string in array
|> Enum.reject(fn(x) -> x == "" end)
# group duplicate chars -> [["A", "A"], ["C", "C"]]
|> Enum.chunk_by(fn(x) -> x end)
|> Enum.reduce("", fn(letter_group, acc) ->
count_letter_group(letter_group, acc) end) # reduce/3
end
end