Cartesian product of two or more lists: Difference between revisions

Content added Content deleted
Line 2,996: Line 2,996:
</pre>
</pre>
=={{header|langur}}==
=={{header|langur}}==
<syntaxhighlight lang="langur">writeln mapX(f(... .x) .x, [1, 2], [3, 4]) == [[1, 3], [1, 4], [2, 3], [2, 4]]
<syntaxhighlight lang="langur">val .X = f(... .x) .x

writeln mapX(f(... .x) .x, [3, 4], [1, 2]) == [[3, 1], [3, 2], [4, 1], [4, 2]]
writeln mapX(f(... .x) .x, [1, 2], []) == []
writeln mapX(.X, [1, 2], [3, 4]) == [[1, 3], [1, 4], [2, 3], [2, 4]]
writeln mapX(f(... .x) .x, [], [1, 2]) == []
writeln mapX(.X, [3, 4], [1, 2]) == [[3, 1], [3, 2], [4, 1], [4, 2]]
writeln mapX(.X, [1, 2], []) == []
writeln mapX(.X, [], [1, 2]) == []
writeln()
writeln()


writeln mapX f(... .x) .x, [1776, 1789], [7, 12], [4, 14, 23], [0, 1]
writeln mapX .X, [1776, 1789], [7, 12], [4, 14, 23], [0, 1]
writeln()
writeln()


writeln mapX f(... .x) .x, [1, 2, 3], [30], [500, 100]
writeln mapX .X, [1, 2, 3], [30], [500, 100]
writeln()
writeln()


writeln mapX f(... .x) .x, [1, 2, 3], [], [500, 100]
writeln mapX .X, [1, 2, 3], [], [500, 100]
writeln()</syntaxhighlight>
writeln()</syntaxhighlight>