Если у меня есть такой массив: [0, 1, 2, 3, 4, 5]
, есть ли встроенный метод для создания этого:
[[0, 1, 2], [3, 4, 5]]
учитывая ширину 3? Если нет встроенного метода, как я могу улучшить это?
def multi_to_single(array, width)
return [].tap{|md_array|
(array.length.to_f / width).ceil.times {|y|
row = (array[(y*width), width])
md_array.push( row + Array.new(width - row.length))
}
}
end
Мне кажется, что я упустил что-то очевидное, потому что давно не программировал ruby!
Заранее спасибо, эл.
РЕДАКТИРОВАТЬ: он должен быть в базовой библиотеке, так что никакой рубин на рельсах или что-то еще.