Haskell有Data.List.permutations
permutations "abc" == ["abc","bac","cba","bca","cab","acb"]
Run Code Online (Sandbox Code Playgroud)
是否有用于转换的标准库函数或者您需要自己滚动吗?
transformations "ab" == ["aa","ab","ba","bb"]
Run Code Online (Sandbox Code Playgroud)
Ruby方式是:
x.repeated_permutation(x.length)
Run Code Online (Sandbox Code Playgroud)
您正在寻找replicateM的在Control.Monad模块:
replicateM 2 "ab"
-- ["aa","ab","ba","bb"]
Run Code Online (Sandbox Code Playgroud)
AFAIK它们是字母表中重复的排列['a', 'b'].