루비로 2차원 그룹을 분할하는 방법

3801 단어 Ruby
여러 가지 상황이 있으면 누구나 가능한 방법을 만들었어요.
글이 시원해서 그림을 그렸어요!
예를 들어, 이러한 임의의 2차원 그룹이 있다고 가정합니다.

다음 (1,1)과 같이 네 부분을 분할할 좌표를 지정합니다.

코드 여기 있습니다.
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]]]
다 됐네!!!
더 좋은 방법이 있으면 알려주세요!

좋은 웹페이지 즐겨찾기