我必须根据有多少物体做一些非常重复的计算。Rails Ruby - 如何基于计数的对象创建循环?
示例有4个对象。
然后我必须做这些计算:
1+2
1+3
1+4
2+1
2+3
2+4
3+1
3+2
3+4
4+1
4+2
4+3
1+3+2
1+4+3
1+2+4
3+2+1
3+4+2
3+2+4
4+2+1
4+3+1
4+2+3
1+2+3+4
如何在所有可能性的计算非重复的方式做到这一点? 我想计算所有的可能性,期望对象我不出现两次。
5,#2 + 4 :)拼写错误.... – 2012-01-15 21:25:15
一些细节:加法是一个交换操作,所以你可以简单地做一个'objs.combination(i)'而不是一个置换。和map + flatten(1) - > flat_map(ruby 1.9)。 '2.upto(xs.size).flat_map {| n | xs.combination(n).map {| cs | cs.inject(:+)}}' – tokland 2012-01-15 22:28:54
@tokland如何组合? :) – 2012-01-15 22:29:39