限制Ruby组合的试验次数

时间:2017-08-30 02:31:31

标签: ruby-on-rails ruby combinations

以下代码将5C4(5个组合4)的所有结果计算为字符串:

a = ['1', '2', '3', '4', '5']
result_array = a.combination(4).map(&:join).to_a

是否有一种方法可以用来限制组合试验的数量,类似于Python中的itertools模块?

1 个答案:

答案 0 :(得分:4)

试试这个:

result_array = a.combination(4).lazy.map(&:join).take(2).to_a

lazy将确保您只计算take所需的任意数量的值。