aboutsummaryrefslogtreecommitdiff
path: root/gem/ex5.lua
blob: 196b30a1f022c1c565688679b6e0daa401ec0267 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function source.empty(err)
  return function()
    return nil, err
  end
end

function source.file(handle, io_err)
  if handle then
    return function()
      local chunk = handle:read(20)
      if not chunk then handle:close() end
      return chunk
    end
  else return source.empty(io_err or "unable to open file") end
end