bidimensionales arreglos array ruby loops product depth

arreglos - array ruby



Encontrar el producto de un nĂºmero variable de matrices de Ruby (1)

Estoy buscando para encontrar todas las combinaciones de elementos individuales de un número variable de matrices. ¿Cómo hago esto en Ruby?

Dadas dos matrices, puedo usar Array.product de esta manera:

groups = [] groups[0] = ["hello", "goodbye"] groups[1] = ["world", "everyone"] combinations = groups[0].product(groups[1]) puts combinations.inspect # [["hello", "world"], ["hello", "everyone"], ["goodbye", "world"], ["goodbye", "everyone"]]

¿Cómo podría funcionar este código cuando los grupos contienen una cantidad variable de matrices?


groups = [ %w[hello goodbye], %w[world everyone], %w[here there] ] combinations = groups.first.product(*groups.drop(1)) p combinations # [ # ["hello", "world", "here"], # ["hello", "world", "there"], # ["hello", "everyone", "here"], # ["hello", "everyone", "there"], # ["goodbye", "world", "here"], # ["goodbye", "world", "there"], # ["goodbye", "everyone", "here"], # ["goodbye", "everyone", "there"] # ]