Я могу получить позиции Матрицы с помощью этого кода:
rows = 2
columns = 2
Matrix.build(rows, columns).to_a
[[0, 0], [0, 1], [1, 0], [1, 1]]
этот код строит матрицу из 0,0.
Я хотел бы построить матрицу из 0,1
я хотел бы получить:
[[0, 1], [0, 2], [1, 1], [1, 2]]
я использую метод построения матрицы, потому что это просто, мы можем использовать массивы для достижения того же результата.
Спасибо!
🤔 А знаете ли вы, что...
Ruby известен своей философией 'Принципов языка Ruby' (The Ruby Way), которая включает в себя простоту и элегантность.
Данный
rows = 2
columns = 2
offset = [0, 1]
просто напишите
ro, co = offset
Array.new(rows * columns) do |k|
i, j = k.divmod(rows)
[i + ro, j + co]
end
#=> [[0, 1], [0, 2], [1, 1], [1, 2]]
См. Array::new и Integer#divmod.