【发布时间】:2013-01-04 02:11:16
【问题描述】:
如何生成长度在给定范围内的数组元素的所有可能组合?例如:
('a'..'f').to_a.all_possibilities(3, 5)
应该产生一个像这样的数组:
['abc', 'abd', 'abe', 'abf', ..., 'abcde', 'abcdf', 'abcda', ...]
包括从"abc"(三个字符)到('a'..'f').to_a 与五个字符长度的最后一个可能组合。我不知道该怎么做。有什么帮助吗?
【问题讨论】:
-
澄清一下,
'abcda'是一个错误吗?是否允许重复?'aaa'是你想要的结果吗?另外,这与your previous question 有何不同? -
@Amadan 组合不包括重复。
-
@Amadan 我想要重复。我需要产生所有的可能性。而我之前的问题我没有要求最小长度,所以最小长度总是de array.size。
-
@sawa 好的,对不起,我现在明白了。
标签: ruby arrays combinations