for loops
for those who can’t live without for loops or aren’t confortable with recursion, map and lists.foreach, now efene provides for loops.
here are some examples, after them the output of the execution:
@public run = fn () R0 = for X in lists.seq(1, 10) A = X + 1 A R1 = for X in lists.seq(1, 10) if X % 2 == 0 A = X + 1 A R2 = for X in lists.seq(1, 5) for Y in lists.seq(6, 10) (X, Y) R2A = [(X, Y) for X in lists.seq(1, 5) for Y in lists.seq(6, 10)] R3 = for (X, Y) in lists.zip(lists.seq(1, 3), lists.seq(4, 6)) (Y, X) io.format("R0: ~p~n", [R0]) io.format("R1: ~p~n", [R1]) io.format("R2: ~p~n", [R2]) io.format("flatten R2: ~p~n", [lists.flatten(R2)]) io.format("R2A: ~p~n", [R2A]) io.format("R3: ~p~n", [R3])
ouput:
R0: [2,3,4,5,6,7,8,9,10,11]
R1: [3,5,7,9,11]
R2: [[{1,6},{1,7},{1,8},{1,9},{1,10}],
[{2,6},{2,7},{2,8},{2,9},{2,10}],
[{3,6},{3,7},{3,8},{3,9},{3,10}],
[{4,6},{4,7},{4,8},{4,9},{4,10}],
[{5,6},{5,7},{5,8},{5,9},{5,10}]]
flatten R2: [{1,6}, {1,7}, {1,8}, {1,9}, {1,10},
{2,6}, {2,7}, {2,8}, {2,9}, {2,10},
{3,6}, {3,7}, {3,8}, {3,9}, {3,10},
{4,6}, {4,7}, {4,8}, {4,9}, {4,10},
{5,6}, {5,7}, {5,8}, {5,9}, {5,10}]
R2A: [{1,6}, {1,7}, {1,8}, {1,9}, {1,10},
{2,6}, {2,7}, {2,8}, {2,9}, {2,10},
{3,6}, {3,7}, {3,8}, {3,9}, {3,10},
{4,6}, {4,7}, {4,8}, {4,9}, {4,10},
{5,6}, {5,7}, {5,8}, {5,9}, {5,10}]
R3: [{4,1},{5,2},{6,3}]
POSTED Thursday May 27th