追記
わざわざ、true,falseの表を作らなくても2進数を使えば良いのかもしれない。
def power_set(seed) n=2**seed.size-1 bools=(0..n).map{|i| format("%#{seed.size}b",i).split(//)} bools.map do |bool| x=seed.zip(bool).map{|e| e[0] if e[1] == "1"} x.delete nil x end end
わざわざ、true,falseの表を作らなくても2進数を使えば良いのかもしれない。
def power_set(seed) n=2**seed.size-1 bools=(0..n).map{|i| format("%#{seed.size}b",i).split(//)} bools.map do |bool| x=seed.zip(bool).map{|e| e[0] if e[1] == "1"} x.delete nil x end end