12345678910111213141516171819202122 |
- #!/usr/bin/ruby
- func combine(n, set) {
- set.len || return [];
- n == 1 && return set.map{[_]};
- var (head, result);
- head = set.shift;
- result = __FUNC__(n-1, [set...]);
- result.each { |subarray|
- subarray.unshift(head);
- };
- result + __FUNC__(n, set);
- }
- combine(3, @(0..4)).each {|row|
- say row.join(' ');
- }
|