7c3133df3657a28c8007ef1952772253f26abd07
[metalua.git] / src / samples / clist_test.mlua
blob7c3133df3657a28c8007ef1952772253f26abd07
1 -{extension "clist"}
3 -- integers from 2 to 50, by steps of 2:
4 x = { i for i = 2, 50, 2 }
6 -- the same, obtained by filtering over all integers <= 50:
7 y = { i for i = 1, 50 if i%2==0 }
9 -- prime numbers, implemented in an inefficient way:
10 local sieve, n = { i for i=2, 100 }, 1
11 while n < #sieve do
12    sieve = { 
13       i for i in values(sieve[1 ... n]);
14       i for i in values(sieve[n+1 ... #sieve]) if i%sieve[n] ~= 0 }
15    n += 1
16 end
18 print "Prime numbers < 100, computed with lists by comprehension:"
19 table.print(sieve)