Ruby 初心者スレッド Part 56©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0055デフォルトの名無しさん
2014/12/25(木) 20:25:03.94ID:30SwzOSe何かいい単純な書き方がありますでしょうか?
今のところ以下のように、
何かを出してから足し合わせたりと1段間に処理を挟むような考え方でしか出せていません
a=[1,2,3]
n=a.size
p (0..n).flat_map{|i|a.combination(i).to_a}
#=> [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
p (0..2**n-1).map{|i|a.select.with_index{|j,k|2**k&i>0}}
#=> [[], [1], [2], [1, 2], [3], [1, 3], [2, 3], [1, 2, 3]]
■ このスレッドは過去ログ倉庫に格納されています