Der folgende Code berechnet alle Ergebnisse von 5C4
(5 Kombination 4) als String:die Anzahl der Versuche in Kombination Begrenzung Ruby-
a = ['1', '2', '3', '4', '5']
result_array = a.combination(4).map(&:join).to_a
Gibt es eine Methode, die ich die Anzahl der Kombinationsstudien begrenzen können Ähnlich wie das Modul itertools
in Python?
Wenn Sie die ersten so viele Kombinationen nehmen möchten, gibt es einen Grund, warum Sie ein Array konstruieren wollen, anstatt einfach die ersten 'n' Elemente durch den Enumerator an einen anderen Enumerator oder einen Block übergeben zu lassen? –
was ich tue macht tatsächlich Kombinationen zwischen verschiedenen 4 Gruppen, also wenn ich Aufzählung im Enumerator aufrufen, dachte ich, es verursacht so viele Überschneidungen. @Cary Swoveland –
Wenn Sie meinen, dass Sie die ersten so vielen 4-Tupel generieren möchten, indem Sie ein Element aus jedem der 4 Arrays zeichnen, wäre das ein anderes, wenn auch ein interessantes Problem. Wenn ja, erwäge bitte, eine andere Frage zu stellen. –