Ruby 1.9.0 リファレンスマニュアル > ライブラリ一覧 > library _builtin > class Array > combination
combination(n) {|c| block } -> Arraycombination(n) -> Enumerable::Enumeratorサイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出され ると、組み合わせを生成する Enumerator オブジェクトを返します。
例:
a = [1, 2, 3, 4] a.combination(1).to_a #=> [[1],[2],[3],[4]] a.combination(2).to_a #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]] a.combination(3).to_a #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]] a.combination(4).to_a #=> [[1,2,3,4]] a.combination(0).to_a #=> [[]]: one combination of length 0 a.combination(5).to_a #=> [] : no combinations of length 5