我想要打印此數組中所有組合的所有不同總和[1,2,3]。我想首先將每個求和結果推送到一個新的數組b中,然後使用b.uniq將它們打印出來,以便不重複總和結果。 但是,隨着我的代碼,3重複自己,我認爲這是因爲它被推入陣列的方式b。Ruby - 將數組中的值推送到新的數組
有沒有更好的方法來做到這一點?
a = [1,2,3]
b = []
b.push a
b.push a.combination(2).collect {|a,b| (a+b)}
b.push a.combination(3).collect {|a,b,c| (a+b+c)}
puts b.uniq
p b #[[1, 2, 3], [3, 4, 5], [6]]
有人可以幫助我嗎?我仍然是紅寶石新手。
你需要在結果中嵌套數組嗎? – nsave
不,我想把它們顯示爲單獨的值.. – bisuke
那麼你可以只是'p.flatten.uniq' – nsave