diff options
Diffstat (limited to '')
-rw-r--r-- | docs/ltn12.html (renamed from doc/ltn12.html) | 206 |
1 files changed, 108 insertions, 98 deletions
diff --git a/doc/ltn12.html b/docs/ltn12.html index 54e66fb..fe3e3a0 100644 --- a/doc/ltn12.html +++ b/docs/ltn12.html | |||
@@ -1,4 +1,4 @@ | |||
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
2 | "http://www.w3.org/TR/html4/strict.dtd"> | 2 | "http://www.w3.org/TR/html4/strict.dtd"> |
3 | <html> | 3 | <html> |
4 | 4 | ||
@@ -14,22 +14,22 @@ Pump, Support, Library"> | |||
14 | 14 | ||
15 | <!-- header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 15 | <!-- header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
16 | 16 | ||
17 | <div class=header> | 17 | <div class="header"> |
18 | <hr> | 18 | <hr> |
19 | <center> | 19 | <center> |
20 | <table summary="LuaSocket logo"> | 20 | <table summary="LuaSocket logo"> |
21 | <tr><td align=center><a href="http://www.lua.org"> | 21 | <tr><td align="center"><a href="http://www.lua.org"> |
22 | <img width=128 height=128 border=0 alt="LuaSocket" src="luasocket.png"> | 22 | <img width="128" height="128" border="0" alt="LuaSocket" src="luasocket.png"> |
23 | </a></td></tr> | 23 | </a></td></tr> |
24 | <tr><td align=center valign=top>Network support for the Lua language | 24 | <tr><td align="center" valign="top">Network support for the Lua language |
25 | </td></tr> | 25 | </td></tr> |
26 | </table> | 26 | </table> |
27 | <p class=bar> | 27 | <p class="bar"> |
28 | <a href="index.html">home</a> · | 28 | <a href="index.html">home</a> · |
29 | <a href="index.html#download">download</a> · | 29 | <a href="index.html#download">download</a> · |
30 | <a href="installation.html">installation</a> · | 30 | <a href="installation.html">installation</a> · |
31 | <a href="introduction.html">introduction</a> · | 31 | <a href="introduction.html">introduction</a> · |
32 | <a href="reference.html">reference</a> | 32 | <a href="reference.html">reference</a> |
33 | </p> | 33 | </p> |
34 | </center> | 34 | </center> |
35 | <hr> | 35 | <hr> |
@@ -37,7 +37,7 @@ Pump, Support, Library"> | |||
37 | 37 | ||
38 | <!-- ltn12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 38 | <!-- ltn12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
39 | 39 | ||
40 | <h2 id=ltn12>LTN12</h2> | 40 | <h2 id="ltn12">LTN12</h2> |
41 | 41 | ||
42 | <p> The <tt>ltn12</tt> namespace implements the ideas described in | 42 | <p> The <tt>ltn12</tt> namespace implements the ideas described in |
43 | <a href="http://lua-users.org/wiki/FiltersSourcesAndSinks"> | 43 | <a href="http://lua-users.org/wiki/FiltersSourcesAndSinks"> |
@@ -46,11 +46,11 @@ functions. Please refer to the LTN for a deeper explanation of the | |||
46 | functionality provided by this module. | 46 | functionality provided by this module. |
47 | </p> | 47 | </p> |
48 | 48 | ||
49 | <p> | 49 | <p> |
50 | To obtain the <tt>ltn12</tt> namespace, run: | 50 | To obtain the <tt>ltn12</tt> namespace, run: |
51 | </p> | 51 | </p> |
52 | 52 | ||
53 | <pre class=example> | 53 | <pre class="example"> |
54 | -- loads the LTN21 module | 54 | -- loads the LTN21 module |
55 | local ltn12 = require("ltn12") | 55 | local ltn12 = require("ltn12") |
56 | </pre> | 56 | </pre> |
@@ -61,32 +61,32 @@ local ltn12 = require("ltn12") | |||
61 | 61 | ||
62 | <!-- chain ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 62 | <!-- chain ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
63 | 63 | ||
64 | <p class=name id="filter.chain"> | 64 | <p class="name" id="filter.chain"> |
65 | ltn12.filter.<b>chain(</b>filter<sub>1</sub>, filter<sub>2</sub> | 65 | ltn12.filter.<b>chain(</b>filter<sub>1</sub>, filter<sub>2</sub> |
66 | [, ... filter<sub>N</sub>]<b>)</b> | 66 | [, ... filter<sub>N</sub>]<b>)</b> |
67 | </p> | 67 | </p> |
68 | 68 | ||
69 | <p class=description> | 69 | <p class="description"> |
70 | Returns a filter that passes all data it receives through each of a | 70 | Returns a filter that passes all data it receives through each of a |
71 | series of given filters. | 71 | series of given filters. |
72 | </p> | 72 | </p> |
73 | 73 | ||
74 | <p class=parameters> | 74 | <p class="parameters"> |
75 | <tt>Filter<sub>1</sub></tt> to <tt>filter<sub>N</sub></tt> are simple | 75 | <tt>Filter<sub>1</sub></tt> to <tt>filter<sub>N</sub></tt> are simple |
76 | filters. | 76 | filters. |
77 | </p> | 77 | </p> |
78 | 78 | ||
79 | <p class=return> | 79 | <p class="return"> |
80 | The function returns the chained filter. | 80 | The function returns the chained filter. |
81 | </p> | 81 | </p> |
82 | 82 | ||
83 | <p class=note> | 83 | <p class="note"> |
84 | The nesting of filters can be arbitrary. For instance, the useless filter | 84 | The nesting of filters can be arbitrary. For instance, the useless filter |
85 | below doesn't do anything but return the data that was passed to it, | 85 | below doesn't do anything but return the data that was passed to it, |
86 | unaltered. | 86 | unaltered. |
87 | </p> | 87 | </p> |
88 | 88 | ||
89 | <pre class=example> | 89 | <pre class="example"> |
90 | -- load required modules | 90 | -- load required modules |
91 | local ltn12 = require("ltn12") | 91 | local ltn12 = require("ltn12") |
92 | local mime = require("mime") | 92 | local mime = require("mime") |
@@ -102,26 +102,26 @@ id = ltn12.filter.chain( | |||
102 | 102 | ||
103 | <!-- cycle ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 103 | <!-- cycle ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
104 | 104 | ||
105 | <p class=name id="filter.cycle"> | 105 | <p class="name" id="filter.cycle"> |
106 | ltn12.filter.<b>cycle(</b>low [, ctx, extra]<b>)</b> | 106 | ltn12.filter.<b>cycle(</b>low [, ctx, extra]<b>)</b> |
107 | </p> | 107 | </p> |
108 | 108 | ||
109 | <p class=description> | 109 | <p class="description"> |
110 | Returns a high-level filter that cycles though a low-level filter by | 110 | Returns a high-level filter that cycles though a low-level filter by |
111 | passing it each chunk and updating a context between calls. | 111 | passing it each chunk and updating a context between calls. |
112 | </p> | 112 | </p> |
113 | 113 | ||
114 | <p class=parameters> | 114 | <p class="parameters"> |
115 | <tt>Low</tt> is the low-level filter to be cycled, | 115 | <tt>Low</tt> is the low-level filter to be cycled, |
116 | <tt>ctx</tt> is the initial context and <tt>extra</tt> is any extra | 116 | <tt>ctx</tt> is the initial context and <tt>extra</tt> is any extra |
117 | argument the low-level filter might take. | 117 | argument the low-level filter might take. |
118 | </p> | 118 | </p> |
119 | 119 | ||
120 | <p class=return> | 120 | <p class="return"> |
121 | The function returns the high-level filter. | 121 | The function returns the high-level filter. |
122 | </p> | 122 | </p> |
123 | 123 | ||
124 | <pre class=example> | 124 | <pre class="example"> |
125 | -- load the ltn12 module | 125 | -- load the ltn12 module |
126 | local ltn12 = require("ltn12") | 126 | local ltn12 = require("ltn12") |
127 | 127 | ||
@@ -137,15 +137,15 @@ end | |||
137 | 137 | ||
138 | <!-- all ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 138 | <!-- all ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
139 | 139 | ||
140 | <p class=name id="pump.all"> | 140 | <p class="name" id="pump.all"> |
141 | ltn12.pump.<b>all(</b>source, sink<b>)</b> | 141 | ltn12.pump.<b>all(</b>source, sink<b>)</b> |
142 | </p> | 142 | </p> |
143 | 143 | ||
144 | <p class=description> | 144 | <p class="description"> |
145 | Pumps <em>all</em> data from a <tt>source</tt> to a <tt>sink</tt>. | 145 | Pumps <em>all</em> data from a <tt>source</tt> to a <tt>sink</tt>. |
146 | </p> | 146 | </p> |
147 | 147 | ||
148 | <p class=return> | 148 | <p class="return"> |
149 | If successful, the function returns a value that evaluates to | 149 | If successful, the function returns a value that evaluates to |
150 | <b><tt>true</tt></b>. In case | 150 | <b><tt>true</tt></b>. In case |
151 | of error, the function returns a <b><tt>false</tt></b> value, followed by an error message. | 151 | of error, the function returns a <b><tt>false</tt></b> value, followed by an error message. |
@@ -153,15 +153,15 @@ of error, the function returns a <b><tt>false</tt></b> value, followed by an err | |||
153 | 153 | ||
154 | <!-- step +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 154 | <!-- step +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
155 | 155 | ||
156 | <p class=name id="pump.step"> | 156 | <p class="name" id="pump.step"> |
157 | ltn12.pump.<b>step(</b>source, sink<b>)</b> | 157 | ltn12.pump.<b>step(</b>source, sink<b>)</b> |
158 | </p> | 158 | </p> |
159 | 159 | ||
160 | <p class=description> | 160 | <p class="description"> |
161 | Pumps <em>one</em> chunk of data from a <tt>source</tt> to a <tt>sink</tt>. | 161 | Pumps <em>one</em> chunk of data from a <tt>source</tt> to a <tt>sink</tt>. |
162 | </p> | 162 | </p> |
163 | 163 | ||
164 | <p class=return> | 164 | <p class="return"> |
165 | If successful, the function returns a value that evaluates to | 165 | If successful, the function returns a value that evaluates to |
166 | <b><tt>true</tt></b>. In case | 166 | <b><tt>true</tt></b>. In case |
167 | of error, the function returns a <b><tt>false</tt></b> value, followed by an error message. | 167 | of error, the function returns a <b><tt>false</tt></b> value, followed by an error message. |
@@ -173,52 +173,52 @@ of error, the function returns a <b><tt>false</tt></b> value, followed by an err | |||
173 | 173 | ||
174 | <!-- chain ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 174 | <!-- chain ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
175 | 175 | ||
176 | <p class=name id="sink.chain"> | 176 | <p class="name" id="sink.chain"> |
177 | ltn12.sink.<b>chain(</b>filter, sink<b>)</b> | 177 | ltn12.sink.<b>chain(</b>filter, sink<b>)</b> |
178 | </p> | 178 | </p> |
179 | 179 | ||
180 | <p class=description> | 180 | <p class="description"> |
181 | Creates and returns a new sink that passes data through a <tt>filter</tt> before sending it to a given <tt>sink</tt>. | 181 | Creates and returns a new sink that passes data through a <tt>filter</tt> before sending it to a given <tt>sink</tt>. |
182 | </p> | 182 | </p> |
183 | 183 | ||
184 | <!-- error ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 184 | <!-- error ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
185 | 185 | ||
186 | <p class=name id="sink.error"> | 186 | <p class="name" id="sink.error"> |
187 | ltn12.sink.<b>error(</b>message<b>)</b> | 187 | ltn12.sink.<b>error(</b>message<b>)</b> |
188 | </p> | 188 | </p> |
189 | 189 | ||
190 | <p class=description> | 190 | <p class="description"> |
191 | Creates and returns a sink that aborts transmission with the error | 191 | Creates and returns a sink that aborts transmission with the error |
192 | <tt>message</tt>. | 192 | <tt>message</tt>. |
193 | </p> | 193 | </p> |
194 | 194 | ||
195 | <!-- file +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 195 | <!-- file +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
196 | 196 | ||
197 | <p class=name id="sink.file"> | 197 | <p class="name" id="sink.file"> |
198 | ltn12.sink.<b>file(</b>handle, message<b>)</b> | 198 | ltn12.sink.<b>file(</b>handle, message<b>)</b> |
199 | </p> | 199 | </p> |
200 | 200 | ||
201 | <p class=description> | 201 | <p class="description"> |
202 | Creates a sink that sends data to a file. | 202 | Creates a sink that sends data to a file. |
203 | </p> | 203 | </p> |
204 | 204 | ||
205 | <p class=parameters> | 205 | <p class="parameters"> |
206 | <tt>Handle</tt> is a file handle. If <tt>handle</tt> is <tt><b>nil</b></tt>, | 206 | <tt>Handle</tt> is a file handle. If <tt>handle</tt> is <tt><b>nil</b></tt>, |
207 | <tt>message</tt> should give the reason for failure. | 207 | <tt>message</tt> should give the reason for failure. |
208 | </p> | 208 | </p> |
209 | 209 | ||
210 | <p class=return> | 210 | <p class="return"> |
211 | The function returns a sink that sends all data to the given <tt>handle</tt> | 211 | The function returns a sink that sends all data to the given <tt>handle</tt> |
212 | and closes the file when done, or a sink that aborts the transmission with | 212 | and closes the file when done, or a sink that aborts the transmission with |
213 | the error <tt>message</tt> | 213 | the error <tt>message</tt> |
214 | </p> | 214 | </p> |
215 | 215 | ||
216 | <p class=note> | 216 | <p class="note"> |
217 | In the following example, notice how the prototype is designed to | 217 | In the following example, notice how the prototype is designed to |
218 | fit nicely with the <tt>io.open</tt> function. | 218 | fit nicely with the <tt>io.open</tt> function. |
219 | </p> | 219 | </p> |
220 | 220 | ||
221 | <pre class=example> | 221 | <pre class="example"> |
222 | -- load the ltn12 module | 222 | -- load the ltn12 module |
223 | local ltn12 = require("ltn12") | 223 | local ltn12 = require("ltn12") |
224 | 224 | ||
@@ -231,45 +231,45 @@ ltn12.pump.all( | |||
231 | 231 | ||
232 | <!-- null +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 232 | <!-- null +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
233 | 233 | ||
234 | <p class=name id="sink.null"> | 234 | <p class="name" id="sink.null"> |
235 | ltn12.sink.<b>null()</b> | 235 | ltn12.sink.<b>null()</b> |
236 | </p> | 236 | </p> |
237 | 237 | ||
238 | <p class=description> | 238 | <p class="description"> |
239 | Returns a sink that ignores all data it receives. | 239 | Returns a sink that ignores all data it receives. |
240 | </p> | 240 | </p> |
241 | 241 | ||
242 | <!-- simplify +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 242 | <!-- simplify +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
243 | 243 | ||
244 | <p class=name id="sink.simplify"> | 244 | <p class="name" id="sink.simplify"> |
245 | ltn12.sink.<b>simplify(</b>sink<b>)</b> | 245 | ltn12.sink.<b>simplify(</b>sink<b>)</b> |
246 | </p> | 246 | </p> |
247 | 247 | ||
248 | <p class=description> | 248 | <p class="description"> |
249 | Creates and returns a simple sink given a fancy <tt>sink</tt>. | 249 | Creates and returns a simple sink given a fancy <tt>sink</tt>. |
250 | </p> | 250 | </p> |
251 | 251 | ||
252 | <!-- table ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 252 | <!-- table ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
253 | 253 | ||
254 | <p class=name id="sink.table"> | 254 | <p class="name" id="sink.table"> |
255 | ltn12.sink.<b>table(</b>[table]<b>)</b> | 255 | ltn12.sink.<b>table(</b>[table]<b>)</b> |
256 | </p> | 256 | </p> |
257 | 257 | ||
258 | <p class=description> | 258 | <p class="description"> |
259 | Creates a sink that stores all chunks in a table. The chunks can later be | 259 | Creates a sink that stores all chunks in a table. The chunks can later be |
260 | efficiently concatenated into a single string. | 260 | efficiently concatenated into a single string. |
261 | </p> | 261 | </p> |
262 | 262 | ||
263 | <p class=parameters> | 263 | <p class="parameters"> |
264 | <tt>Table</tt> is used to hold the chunks. If | 264 | <tt>Table</tt> is used to hold the chunks. If |
265 | <tt><b>nil</b></tt>, the function creates its own table. | 265 | <tt><b>nil</b></tt>, the function creates its own table. |
266 | </p> | 266 | </p> |
267 | 267 | ||
268 | <p class=return> | 268 | <p class="return"> |
269 | The function returns the sink and the table used to store the chunks. | 269 | The function returns the sink and the table used to store the chunks. |
270 | </p> | 270 | </p> |
271 | 271 | ||
272 | <pre class=example> | 272 | <pre class="example"> |
273 | -- load needed modules | 273 | -- load needed modules |
274 | local http = require("socket.http") | 274 | local http = require("socket.http") |
275 | local ltn12 = require("ltn12") | 275 | local ltn12 = require("ltn12") |
@@ -291,89 +291,89 @@ end | |||
291 | 291 | ||
292 | <!-- cat ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 292 | <!-- cat ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
293 | 293 | ||
294 | <p class=name id="source.cat"> | 294 | <p class="name" id="source.cat"> |
295 | ltn12.source.<b>cat(</b>source<sub>1</sub> [, source<sub>2</sub>, ..., | 295 | ltn12.source.<b>cat(</b>source<sub>1</sub> [, source<sub>2</sub>, ..., |
296 | source<sub>N</sub>]<b>)</b> | 296 | source<sub>N</sub>]<b>)</b> |
297 | </p> | 297 | </p> |
298 | 298 | ||
299 | <p class=description> | 299 | <p class="description"> |
300 | Creates a new source that produces the concatenation of the data produced | 300 | Creates a new source that produces the concatenation of the data produced |
301 | by a number of sources. | 301 | by a number of sources. |
302 | </p> | 302 | </p> |
303 | 303 | ||
304 | <p class=parameters> | 304 | <p class="parameters"> |
305 | <tt>Source<sub>1</sub></tt> to <tt>source<sub>N</sub></tt> are the original | 305 | <tt>Source<sub>1</sub></tt> to <tt>source<sub>N</sub></tt> are the original |
306 | sources. | 306 | sources. |
307 | </p> | 307 | </p> |
308 | 308 | ||
309 | <p class=return> | 309 | <p class="return"> |
310 | The function returns the new source. | 310 | The function returns the new source. |
311 | </p> | 311 | </p> |
312 | 312 | ||
313 | <!-- chain ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 313 | <!-- chain ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
314 | 314 | ||
315 | <p class=name id="source.chain"> | 315 | <p class="name" id="source.chain"> |
316 | ltn12.source.<b>chain(</b>source, filter<b>)</b> | 316 | ltn12.source.<b>chain(</b>source, filter<b>)</b> |
317 | </p> | 317 | </p> |
318 | 318 | ||
319 | <p class=description> | 319 | <p class="description"> |
320 | Creates a new <tt>source</tt> that passes data through a <tt>filter</tt> | 320 | Creates a new <tt>source</tt> that passes data through a <tt>filter</tt> |
321 | before returning it. | 321 | before returning it. |
322 | </p> | 322 | </p> |
323 | 323 | ||
324 | <p class=return> | 324 | <p class="return"> |
325 | The function returns the new source. | 325 | The function returns the new source. |
326 | </p> | 326 | </p> |
327 | 327 | ||
328 | <!-- empty ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 328 | <!-- empty ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
329 | 329 | ||
330 | <p class=name id="source.empty"> | 330 | <p class="name" id="source.empty"> |
331 | ltn12.source.<b>empty()</b> | 331 | ltn12.source.<b>empty()</b> |
332 | </p> | 332 | </p> |
333 | 333 | ||
334 | <p class=description> | 334 | <p class="description"> |
335 | Creates and returns an empty source. | 335 | Creates and returns an empty source. |
336 | </p> | 336 | </p> |
337 | 337 | ||
338 | <!-- error ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 338 | <!-- error ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
339 | 339 | ||
340 | <p class=name id="source.error"> | 340 | <p class="name" id="source.error"> |
341 | ltn12.source.<b>error(</b>message<b>)</b> | 341 | ltn12.source.<b>error(</b>message<b>)</b> |
342 | </p> | 342 | </p> |
343 | 343 | ||
344 | <p class=description> | 344 | <p class="description"> |
345 | Creates and returns a source that aborts transmission with the error | 345 | Creates and returns a source that aborts transmission with the error |
346 | <tt>message</tt>. | 346 | <tt>message</tt>. |
347 | </p> | 347 | </p> |
348 | 348 | ||
349 | <!-- file +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 349 | <!-- file +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
350 | 350 | ||
351 | <p class=name id="source.file"> | 351 | <p class="name" id="source.file"> |
352 | ltn12.source.<b>file(</b>handle, message<b>)</b> | 352 | ltn12.source.<b>file(</b>handle, message<b>)</b> |
353 | </p> | 353 | </p> |
354 | 354 | ||
355 | <p class=description> | 355 | <p class="description"> |
356 | Creates a source that produces the contents of a file. | 356 | Creates a source that produces the contents of a file. |
357 | </p> | 357 | </p> |
358 | 358 | ||
359 | <p class=parameters> | 359 | <p class="parameters"> |
360 | <tt>Handle</tt> is a file handle. If <tt>handle</tt> is <tt><b>nil</b></tt>, | 360 | <tt>Handle</tt> is a file handle. If <tt>handle</tt> is <tt><b>nil</b></tt>, |
361 | <tt>message</tt> should give the reason for failure. | 361 | <tt>message</tt> should give the reason for failure. |
362 | </p> | 362 | </p> |
363 | 363 | ||
364 | <p class=return> | 364 | <p class="return"> |
365 | The function returns a source that reads chunks of data from | 365 | The function returns a source that reads chunks of data from |
366 | given <tt>handle</tt> and returns it to the user, | 366 | given <tt>handle</tt> and returns it to the user, |
367 | closing the file when done, or a source that aborts the transmission with | 367 | closing the file when done, or a source that aborts the transmission with |
368 | the error <tt>message</tt> | 368 | the error <tt>message</tt> |
369 | </p> | 369 | </p> |
370 | 370 | ||
371 | <p class=note> | 371 | <p class="note"> |
372 | In the following example, notice how the prototype is designed to | 372 | In the following example, notice how the prototype is designed to |
373 | fit nicely with the <tt>io.open</tt> function. | 373 | fit nicely with the <tt>io.open</tt> function. |
374 | </p> | 374 | </p> |
375 | 375 | ||
376 | <pre class=example> | 376 | <pre class="example"> |
377 | -- load the ltn12 module | 377 | -- load the ltn12 module |
378 | local ltn12 = require("ltn12") | 378 | local ltn12 = require("ltn12") |
379 | 379 | ||
@@ -386,31 +386,41 @@ ltn12.pump.all( | |||
386 | 386 | ||
387 | <!-- simplify +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 387 | <!-- simplify +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
388 | 388 | ||
389 | <p class=name id="source.simplify"> | 389 | <p class="name" id="source.simplify"> |
390 | ltn12.source.<b>simplify(</b>source<b>)</b> | 390 | ltn12.source.<b>simplify(</b>source<b>)</b> |
391 | </p> | 391 | </p> |
392 | 392 | ||
393 | <p class=description> | 393 | <p class="description"> |
394 | Creates and returns a simple source given a fancy <tt>source</tt>. | 394 | Creates and returns a simple source given a fancy <tt>source</tt>. |
395 | </p> | 395 | </p> |
396 | 396 | ||
397 | <!-- string +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 397 | <!-- string +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
398 | 398 | ||
399 | <p class=name id="source.string"> | 399 | <p class="name" id="source.string"> |
400 | ltn12.source.<b>string(</b>string<b>)</b> | 400 | ltn12.source.<b>string(</b>string<b>)</b> |
401 | </p> | 401 | </p> |
402 | 402 | ||
403 | <p class=description> | 403 | <p class="description"> |
404 | Creates and returns a source that produces the contents of a | 404 | Creates and returns a source that produces the contents of a |
405 | <tt>string</tt>, chunk by chunk. | 405 | <tt>string</tt>, chunk by chunk. |
406 | </p> | ||
407 | |||
408 | <!-- table +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | ||
409 | |||
410 | <p class="name" id="source.table"> | ||
411 | ltn12.source.<b>table(</b>table<b>)</b> | ||
412 | </p> | ||
413 | |||
414 | <p class="description"> | ||
415 | Creates and returns a source that produces the numerically-indexed values of a <tt>table</tt> successively beginning at 1. The source returns nil (end-of-stream) whenever a nil value is produced by the current index, which proceeds forward regardless. | ||
406 | </p> | 416 | </p> |
407 | 417 | ||
408 | <!-- footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 418 | <!-- footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
409 | 419 | ||
410 | <div class=footer> | 420 | <div class="footer"> |
411 | <hr> | 421 | <hr> |
412 | <center> | 422 | <center> |
413 | <p class=bar> | 423 | <p class="bar"> |
414 | <a href="index.html">home</a> · | 424 | <a href="index.html">home</a> · |
415 | <a href="index.html#down">download</a> · | 425 | <a href="index.html#down">download</a> · |
416 | <a href="installation.html">installation</a> · | 426 | <a href="installation.html">installation</a> · |