Create a cartesian product iterator

Share:

Description

Create an iterator that returns values from multiple iterators in cartesian product fashion. That is, they are combined the manner of nested for loops.

Usage

1

Arguments

...

Named iterables to iterate over. The right-most iterables change more quickly, like an odometer.

Examples

1
2
3
4
5
6
# Simulate a doubly-nested loop with a single while loop
it <- ihasNext(product(a=1:3, b=1:2))
while (hasNext(it)) {
  x <- nextElem(it)
  cat(sprintf('a = %d, b = %d\n', x$a, x$b))
}