123456789101112 |
- #!/usr/bin/ruby
- func permutations(callback, set, perm=[]) {
- set.is_empty && callback(perm);
- set.range.each { |i|
- __FUNC__(callback, [set[(0 ..^ i)..., (i+1 ..^ set.len)...]], [perm..., set[i]]);
- }
- };
- var list = [1,2,3];
- permutations({|set| say set.join}, list);
|