Ruby - mathematica样式元组列表

Jam*_*ath 0 ruby arrays tuples list

我正在玩各种变量组合的大型列表,我很好奇,如果ruby实现了一种方法来生成这些列表给定长度和变量列表,就像mathematica处理元组一样.

给定长度3和变量a,b和c,它将输出一个或多个a,b,c,3长组合的数组或数组

abc acb bac bca cab cba

通常这很容易做到,除了我使用长度为10-15且有10个左右的vars的列表

Jus*_* Ko 5

您可以将该permutations方法用于数组:

letters = ['a', 'b', 'c']
p letters.permutation(3).map(&:join)
#=> ["abc", "acb", "bac", "bca", "cab", "cba"]
Run Code Online (Sandbox Code Playgroud)