The difference is that I have to iterate through yy for a given xx.
xx='01', yy='01'..'10', so I have 100 outputs, not only 10.
Yes, now I see it, too. Sorry for my stupidity.
You want all
combinations. The obvious solution is two nested iterations
You could do
irb(main):002:0> '01'.upto('03'){|xx| '01'.upto('03') {|yy| puts
"aa#{xx}bb#{yy}"}}
aa01bb01
aa01bb02
aa01bb03
aa02bb01
aa02bb02
aa02bb03
aa03bb01
aa03bb02
aa03bb03
=> "01"
irb(main):003:0>
or
irb(main):001:0> for xx in '01'..'03'
irb(main):002:1> for yy in '01'..'03'
irb(main):003:2> puts "aa#{xx}bb#{yy}"
irb(main):004:2> end
irb(main):005:1> end
aa01bb01
aa01bb02
aa01bb03
aa02bb01
aa02bb02
aa02bb03
aa03bb01
aa03bb02
aa03bb03
=> "01".."03"
irb(main):006:0>
I picked a small range to not let the number of combinations grow too large.
Cheers
robert