in reply to Re^3: Upper limit on length of arrays accepted by Set::CrossProduct
in thread Upper limit on length of arrays accepted by Set::CrossProduct

The original node accidentally got deleted when I attempted to update it. I wanted to post the following code along with the question so as to give an idea about the syntax I'm using.
#!/usr/bin/perl use Set::CrossProduct; my @arr; my @arr1 = 0..4; my @arr2 = 0..3; my @arr3 = 0..10; push(@arr,\@arr1); push(@arr,\@arr2); push(@arr,\@arr3); my $i = Set::CrossProduct->new(\@arr); print $i->cardinality, "\n"; while (my $a = $i->get) { print "@$a : "; };
  • Comment on Re^4: Upper limit on length of arrays accepted by Set::CrossProduct
  • Download Code

Replies are listed 'Best First'.
Re^5: Upper limit on length of arrays accepted by Set::CrossProduct
by blazar (Canon) on Jan 30, 2008 at 13:21 UTC

    I personally believe that on an OT basis, you may be interested to know a slightly more concise but IMHO not less clear way to build @arr:

    my @arr=map [0..$_], 4,3,10;

    Actually, you don't even need @arr:

    my $i = Set::CrossProduct->new([map [0..$_], 4,3,10]);
    --
    If you can't understand the incipit, then please check the IPB Campaign.