У меня есть факторизованный массив из n измерений, и я хотел бы его разработать.
Вот пример:
develop([:a, :aa]) #=> [[:a, :aa]]
..., который совпадает с: [:a].product([:aa])
.
Или, что сложнее:
develop([:a, [:aa, :bb]]) #=> [[:a, :aa],
[:a, :bb]]
Я работаю с Ruby 1.9.Спасибо за любую идею.
Редактировать:
Другой пример с 3 уровнями встроенных массивов:
develop([:a, [[:b, [:ba, :bb]],
[:c, [:ca, :cb]],
[:d, [:da, :db]]]]) #=> [[:a, :b, :ba],
[:a, :b, :bb],
[:a, :c, :ca],
[:a, :c, :cb],
[:a, :d, :da],
[:a, :d, :db]]
Интересно, могли бы мыиспользуйте метод продукта Array (http://ruby -doc.org / core-1.9.3 / Array.html # method-i-product), даже если у нас есть некоторые встроенные массивы.