Module pl.comprehension

List comprehensions implemented in Lua.

See the wiki page

local C= require 'pl.comprehension' . new()

C ('x for x=1,10') ()
==> {1,2,3,4,5,6,7,8,9,10}
C 'x^2 for x=1,4' ()
==> {1,4,9,16}
C '{x,x^2} for x=1,4' ()
==> {{1,1},{2,4},{3,9},{4,16}}
C '2*x for x' {1,2,3}
==> {2,4,6}
dbl = C '2*x for x'
dbl {10,20,30}
==> {20,40,60}
C 'x for x if x % 2 == 0' {1,2,3,4,5}
==> {2,4}
C '{x,y} for x = 1,2 for y = 1,2' ()
==> {{1,1},{1,2},{2,1},{2,2}}
C '{x,y} for x for y' ({1,2},{10,20})
==> {{1,10},{1,20},{2,10},{2,20}}
assert(C 'sum(x^2 for x)' {2,3,4} == 2^2+3^2+4^2)

(c) 2008 David Manura. Licensed under the same terms as Lua (MIT license).

Dependencies: pl.utils, pl.luabalanced

See the Guide



generated by LDoc 1.5.0