seqlua
diff README @ 7:2cb22d01fdd0
Reverted last commit and added TODO for first argument to __call
author | jbe |
---|---|
date | Wed Aug 20 01:59:55 2014 +0200 (2014-08-20) |
parents | 7b05ca6ef925 |
children | 144f0bddee2b |
line diff
1.1 --- a/README Wed Aug 20 01:52:35 2014 +0200 1.2 +++ b/README Wed Aug 20 01:59:55 2014 +0200 1.3 @@ -133,15 +133,21 @@ 1.4 1.5 printcsv{"a", "b", "c"} -- prints: a,b,c 1.6 1.7 -NOTE: If the index passed to ``seqlua_iterinit`` points to a value that has a 1.8 -``__call`` metamethod, then the value at the stack position will be replaced by 1.9 -that metamethod. 1.10 +NOTE: ``seqlua_iterinit`` will store one extra element on the stack during 1.11 +iteration. When ``seqlua_iternext`` returns 0, this extra element is popped 1.12 +from the stack automatically. 1.13 1.14 Additionally, ``seqlualib`` includes a function ``seqlua_iterclosure(L, idx)``, 1.15 which converts a table at a given stack index into a function closure (stored 1.16 on the same stack index) that iterates over the elements of the table. If the 1.17 value at the given stack index is already a function, it leaves the value 1.18 unchanged. If the value is convertible to a function using ``__call,`` then the 1.19 -value is replaced by its ``__call`` metamethod. 1.20 +value is replaced by a closure calling the ``__call`` metamethod. 1.21 1.22 1.23 +TODO 1.24 +---- 1.25 + 1.26 +* pass the original value to the ``__call`` metamethod as first argument 1.27 + 1.28 +