func.lua 363 B

12345678910111213141516171819
  1. function map(func, tbl)
  2. local newtbl = {}
  3. for i,v in pairs(tbl) do
  4. newtbl[i] = func(v)
  5. end
  6. return newtbl
  7. end
  8. -- filter(function, table)
  9. -- e.g: filter(is_even, {1,2,3,4}) -> {2,4}
  10. function filter(func, tbl)
  11. local newtbl= {}
  12. for _,v in pairs(tbl) do
  13. if func(v) then
  14. table.insert(newtbl, v)
  15. end
  16. end
  17. return newtbl
  18. end