创建所有可能重复的字母组合

Asa*_*ara 0 ruby arrays

我想创建一个可能重复的n元素组合的数组,从字母AF.每个组合应该是一个数组.n例如,对于= 4,结果应为:

[[A, A, A, A], [A, A, A, B], [A, A, A, C], ..., [F, F, F, F]]
Run Code Online (Sandbox Code Playgroud)

元素之间的顺序没有重要性([A, A, E, E]并且[E, E, A, A]会相同).

我尝试过:

('A'..'F').to_a.combination(4).to_a
Run Code Online (Sandbox Code Playgroud)

但那没用.我猜这个任务比较复杂.

Len*_*ran 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"]]
Run Code Online (Sandbox Code Playgroud)