【Ruby3.x】Array::repeated_permutation()メソッドの使い方
repeated_permutationメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
repeated_permutationメソッドは、レシーバである配列の要素から、重複を許して指定された長さの順列をすべて生成するメソッドです。
引数nには、生成したい順列の長さを整数で指定します。このメソッドの特徴は、元の配列にある同じ要素を複数回使用して、新しい順列を作成できる点にあります。
もしブロックが与えられた場合、生成された各順列がそのブロックに渡され、指定された処理が実行されます。すべての順列に対するブロックの実行が完了した後、このメソッドはレシーバである配列オブジェクト自身を返します。 一方、ブロックが与えられなかった場合は、生成された順列を一つずつ取り出すことができるEnumeratorオブジェクトを返します。このEnumeratorオブジェクトを利用することで、順列を一度にすべて生成するのではなく、必要に応じて一つずつ取得したり、別のメソッドと組み合わせて処理したりすることが可能です。 このメソッドは、特定のパターンを網羅的に生成する際に利用され、探索アルゴリズムなどで活用されます。
構文(syntax)
1[1, 2].repeated_permutation(2).to_a
引数(parameters)
req
- count: Integer: 生成する順列の要素数。指定しない場合は配列の要素数と同じになります。
戻り値(return)
Enumerator
与えられた配列の要素の組み合わせを、重複を許して指定された長さで生成するイテレータを返します。