fork download
  1. model = {
  2. { player = "Cliff", age = 35, gender = "male" },
  3. { player = "Ally", age = 36, gender = "female" },
  4. { player = "Jasmine", age = 13, gender = "female" },
  5. { player = "Lauren", age = 6.5, gender = "female" }
  6. }
  7.  
  8. function for_each_array(list, operation)
  9. for key, value in ipairs(list) do
  10. operation(value)
  11. end
  12. end
  13.  
  14. function filter_if(list, predicate)
  15. return function(value)
  16. if(predicate(value)) then
  17. list[#list + 1] = value
  18. end
  19. end
  20. end
  21.  
  22. local list = {}
  23. for_each_array(model, filter_if(list, function(each) return each.age < 30 end))
  24.  
  25. for_each_array(list, function(each) print(each.player) end)
Success #stdin #stdout 0.02s 2540KB
stdin
Standard input is empty
stdout
Jasmine
Lauren