В настоящее время у меня есть вход [['a', [0, 1]], ['b', [1]]]
. Я пытаюсь совместить первый элемент с каждым элементом в [0,1]
, т. Е .: 'a'
в ['a',[0,1] => [['a',0],['a',1],['b',1]]
, как и упорядоченные пары. Я сделал это, но это кажется слишком сложным, я думал, что может быть метод, который я забыл.Добавление элемента к каждому элементу массива в ruby
[[0, [0, 1]], [1, [1]]].map.with_index{|x,y| x[1].map{|ele| [y,ele]}}.flatten(1)
#I used 'a'&'b' in the example to help with any confusion.
'flat_map' является недоиспользуются драгоценный камень, не так ли? – tadman
@ tadman да, это, определенно. В принципе, это удобная реализация 'reduce', как это было бы сделано на более функционально-ориентированных языках. – mudasobwa