]> git.lizzy.rs Git - metalua.git/blob - src/samples/clist_test.mlua
Merge remote branch 'origin/master'
[metalua.git] / src / samples / clist_test.mlua
1 -{extension "clist"}
2
3 -- integers from 2 to 50, by steps of 2:
4 x = { i for i = 2, 50, 2 }
5
6 -- the same, obtained by filtering over all integers <= 50:
7 y = { i for i = 1, 50 if i%2==0 }
8
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
17
18 print "Prime numbers < 100, computed with lists by comprehension:"
19 table.print(sieve)
20