諸事情あり誰得なメソッドを作成しました。
文字だとさっぱりだと思うので、絵を書きました!
以下のように(1,1)のように任意の座標を指定し、4分割したいです。
コードはこちらです。
def divide_2d_array(array, x, y)
temp1 = []
temp2 = []
array.each do |a|
temp1 << a[0..y]
temp2 << a[(y+1)..-1]
end
a,c = temp1[0..x], temp1[(x+1)..-1]
b,d = temp2[0..x], temp2[(x+1)..-1]
return a,b,c,d
end
# 実行してみます
arr = [[1,2,3],
[4,5,6],
[7,8,9]]
p divide_2d_array(arr, 1, 1)
# =>[[[1, 2], [4, 5]], [[3], [6]], [[7, 8]], [[9]]]
できていますね!!!
もっといい方法あったら教えて下さい!