ソートしておく必要があります。self配列の要素をすべて削除して空にします。Arrayレシーバと同じ内容を持つ新しい配列を返します。Enumerator各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。組み合わせをすべて生成し、それを引数としてブロックを実行します。取り除いた配列を生成して返します。自身の末尾に破壊的に連結します。要素を自身の末尾に破壊的に連結します。回(nilの場合は無限に)繰り返しブロックを呼びだします。等しい要素を自身からすべて取り除きます。ある要素を取り除きそれを返します。Enumerator要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。要素を取り除いた配列を生成して返します。メソッドで再帰的に参照して返します。Enumerator各要素に対してブロックを評価します。Enumerator各要素のインデックスに対してブロックを評価します。