我必須根據有多少物體做一些非常重複的計算。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