diff options
Diffstat (limited to 'ThirdParty/luasocket/gem/ex3.lua')
-rw-r--r-- | ThirdParty/luasocket/gem/ex3.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ThirdParty/luasocket/gem/ex3.lua b/ThirdParty/luasocket/gem/ex3.lua new file mode 100644 index 0000000..a43fefa --- /dev/null +++ b/ThirdParty/luasocket/gem/ex3.lua @@ -0,0 +1,15 @@ +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, ...) + for i = 2, select('#', ...) do + f = chainpair(f, select(i, ...)) + end + return f +end |