diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2007-10-11 21:16:28 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2007-10-11 21:16:28 +0000 |
commit | 52ac60af8132ae7e42151d3012a9607d7cadaf95 (patch) | |
tree | 95085f9f535d20b6686399af1ba284bb74ac89d3 /gem/ex6.lua | |
parent | e394956cde629e24ecdd285c4c13c206891fcec4 (diff) | |
download | luasocket-52ac60af8132ae7e42151d3012a9607d7cadaf95.tar.gz luasocket-52ac60af8132ae7e42151d3012a9607d7cadaf95.tar.bz2 luasocket-52ac60af8132ae7e42151d3012a9607d7cadaf95.zip |
Tested each sample.
Diffstat (limited to 'gem/ex6.lua')
-rw-r--r-- | gem/ex6.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gem/ex6.lua b/gem/ex6.lua new file mode 100644 index 0000000..a3fdca0 --- /dev/null +++ b/gem/ex6.lua | |||
@@ -0,0 +1,14 @@ | |||
1 | function source.chain(src, f) | ||
2 | return function() | ||
3 | if not src then | ||
4 | return nil | ||
5 | end | ||
6 | local chunk, err = src() | ||
7 | if not chunk then | ||
8 | src = nil | ||
9 | return f(nil) | ||
10 | else | ||
11 | return f(chunk) | ||
12 | end | ||
13 | end | ||
14 | end | ||