>>55
powersetで調べてみたが、多分無い
a.inject([[]]){|i, j|i+i.map{|k|k+[j]}}