2017-11-07 15 views
0

AからFの文字からnの要素を繰り返して組み合わせた配列を作成したいとします。各組み合わせは配列でなければなりません。例えばn = 4の場合、結果は次のようになります繰り返し可能なすべての文字の組み合わせを作成する

[[A, A, A, A], [A, A, A, B], [A, A, A, C], ..., [F, F, F, F]] 

意義なし要素([A, A, E, E][E, E, A, A]は同じである)のうちのために。

私はそれを試してみました:

('A'..'F').to_a.combination(4).to_a 

が、それは動作しませんでした。私の仕事はもっと複雑だと思います。

答えて

5

repeated_combinationを試し:

( 'A' .. 'F')to_a.repeated_combination(4).to_a

例:

> ('A'..'C').to_a.repeated_combination(4).to_a 
=> [["A", "A", "A", "A"], ["A", "A", "A", "B"], ["A", "A", "A", "C"], ["A", "A", "B", "B"], ["A", "A", "B", "C"], ["A", "A", "C", "C"], ["A", "B", "B", "B"], ["A", "B", "B", "C"], ["A", "B", "C", "C"], ["A", "C", "C", "C"], ["B", "B", "B", "B"], ["B", "B", "B", "C"], ["B", "B", "C", "C"], ["B", "C", "C", "C"], ["C", "C", "C", "C"]] 
関連する問題