0
我玩弄了大量的vars多种组合,我很好奇,如果ruby实现了一种方法来生成这些列表给定长度和变量列表,与mathematica处理相同的方式元组。ruby-mathematica样式元组列表
鉴于长度3和变量a,b和c它会输出一个阵列或多个阵列与A,B,C的每一种组合,3长
ABC ACB BAC BCA 驾驶室 CBA
通常这只会是容易做到的,除了在长度与列表10-15个与10 IM左右瓦尔
我玩弄了大量的vars多种组合,我很好奇,如果ruby实现了一种方法来生成这些列表给定长度和变量列表,与mathematica处理相同的方式元组。ruby-mathematica样式元组列表
鉴于长度3和变量a,b和c它会输出一个阵列或多个阵列与A,B,C的每一种组合,3长
ABC ACB BAC BCA 驾驶室 CBA
通常这只会是容易做到的,除了在长度与列表10-15个与10 IM左右瓦尔
你可以使用permutations
法阵:
letters = ['a', 'b', 'c']
p letters.permutation(3).map(&:join)
#=> ["abc", "acb", "bac", "bca", "cab", "cba"]
杰出的和完美的,谢谢贾斯汀! –
请您澄清一下(用编辑而不是评论)您的意思是“用10个左右的变量列出10-15个长度”。在你的例子中,如果长度是4而不是3,具有相同的3个变量,那么其中一个排列是“abac”吗?请注意,Ruby的'permutations'和'combinations'会在内存中生成整个数组。如果这是一个问题,那么有办法一次遍历一个排列。 –