RosettaCodeData/Task/Permutations/Sidef/permutations-3.sidef

12 lines
244 B
Plaintext

func permutations(callback, set, perm=[]) {
set || callback(perm)
for i in ^set {
__FUNC__(callback, [
set[^i, i+1 ..^ set.len]
], [perm..., set[i]])
}
return()
}
permutations({|p| say p }, [0,1,2])