kind=defined
names=combination
visibility=public

--- combination(n) {|c| block }    -> Array
--- combination(n)                 -> Enumerator

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する [[c:Enumerator]] オブジェクトを返します。

@param n 生成される配列のサイズ。

例:

    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

