luasocket/gem/ex3.lua

16 lines
321 B
Lua
Raw Normal View History

2007-10-11 23:16:28 +02:00
local function chainpair(f1, f2)
return function(chunk)
local ret = f2(f1(chunk))
if chunk then return ret
else return (ret or "") .. (f2() or "") end
end
end
function filter.chain(...)
local f = select(1, ...)
2007-10-11 23:16:28 +02:00
for i = 2, select('#', ...) do
f = chainpair(f, select(i, ...))
end
return f
end