12345678910111213141516 |
- #!/usr/bin/ruby
- #
- ## https://rosettacode.org/wiki/Permutations
- #
- func permutations(callback, set, perm=[]) {
- set.len == 0 && callback(perm);
- for i in range(set.len) {
- __FUNC__(callback, [set[(0 ..^ i)..., (i+1 ..^ set.len)...]], [perm..., set[i]]);
- }
- };
- var list = [1,2,3];
- permutations({|set| say set.join}, list);
|