Объедините массив массивов во все возможные комбинации, только вперед, в Ruby

У меня есть массив массивов, например:

[['1','2'],['a','b'],['x','y']]

Мне нужно объединить эти массивы в строку, содержащую все возможные комбинации всех трех наборов, только вперед. Я видел множество примеров всех возможных комбинаций наборов в любом порядке, это не то, что мне нужно. Например, я не хочу, чтобы какие-либо элементы в первом наборе располагались после второго набора, или какие-либо элементы в третьем наборе располагались перед первым или вторым, и так далее. Итак, для приведенного выше примера вывод будет следующим:

['1ax', '1ay', '1bx', '1by', '2ax', '2ay', '2bx', '2by']

Количество массивов и длина каждого набора являются динамическими.

Кто-нибудь знает, как решить эту проблему в Ruby?

28
задан Travis 8 March 2011 в 00:11
поделиться