Sha256: 4f754ca0ce69b6a45ef17c54151872cb55f1e4d09bf5b7940c17f7d176f6fac2

Contents?: true

Size: 442 Bytes

Versions: 396

Compression:

Stored size: 442 Bytes

Contents

local function reduce(xs, value, f)
  for _, x in ipairs(xs) do
    value = f(x, value)
  end
  return value
end

local function map(xs, f)
  return reduce(xs, {}, function(x, acc)
    table.insert(acc, f(x))
    return acc
  end)
end

local function filter(xs, pred)
  return reduce(xs, {}, function(x, acc)
    if pred(x) then table.insert(acc, x) end
    return acc
  end)
end

return {
  map = map,
  reduce = reduce,
  filter = filter
}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.179 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.178 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.177 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.176 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.175 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.174 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.173 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.172 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.171 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.170 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.169 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.167 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.166 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.165 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.164 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.163 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.162 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.161 tracks/lua/exercises/list-ops/example.lua
trackler-2.2.1.160 tracks/lua/exercises/list-ops/example.lua