Sha256: a6b9fae20daba92af9b7a2b6697d12a8522e02f36ad4cb4e4594f39d21557552

Contents?: true

Size: 487 Bytes

Versions: 62

Compression:

Stored size: 487 Bytes

Contents

return {
  encode = function(s)
    local result = ''
    local i = 1
    while i <= #s do
      local c = s:sub(i, i)
      local _, _, run = s:find('(' .. c .. '+)', i)
      result = result .. ((#run > 1) and #run or '') .. c
      i = i + #run
    end
    return result
  end,

  decode = function(s)
    local result = ''
    for length, c in s:gmatch('(%d?)(.)') do
      if length == '' then length = 1 end
      result = result .. c:rep(length)
    end
    return result
  end
}

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trackler-2.0.6.6 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.6.5 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.6.4 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.6.3 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.6.2 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.6.1 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.6.0 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.18 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.17 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.16 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.15 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.14 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.13 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.12 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.11 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.10 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.9 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.8 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.7 tracks/lua/exercises/run-length-encoding/example.lua
trackler-2.0.5.6 tracks/lua/exercises/run-length-encoding/example.lua