Ruby에서 다차원 배열을 만드는 방법

Ruby에서 다차원 배열을 만드는 방법. Ruby는 다차원 배열에 대한 명시적인 지원을 제공하지 않지만 언어에 대한 기본 지식이 있으면 직접 구현할 수 있습니다. 본질적으로 배열의 각 요소가 또 다른 배열을 보유하는 "배열 배열"을 만들어야 합니다. Ruby에서 이러한 다차원 배열을 생성하려면 코드를 반복할 필요가 없도록 배열 배열을 생성하는 데 사용되는 메서드를 작성할 수 있습니다.

Ruby에서 다차원 배열 만들기

1 단계

메소드의 골격을 작성하십시오. 이 메서드는 여러 차원 인수를 사용하고 해당 차원의 빈 다차원 배열을 반환합니다. 예를 들어, 10x10 배열의 경우 이 메서드를 호출합니다. mda (10,10):def mda (width, height) end

오늘의 비디오

2 단계

너비 요소의 배열을 만듭니다.

3단계

배열의 모든 요소에 대해 높이 요소의 배열을 만듭니다. 이것은 2차원 배열로 사용될 "배열의 배열"을 만듭니다. 특정 길이의 빈 배열을 만들려면 길이와 함께 Array.new 생성자를 인수로 사용하십시오. 처음에는 배열의 모든 값이 nil이 됩니다.

4단계

지도를 이용하세요! 방법도. 지도! 메서드는 배열의 모든 요소를 ​​반복하고, 모든 요소에 대해 블록을 실행하고, 블록의 결과를 배열 요소에 할당합니다. for 루프를 사용하여 동일한 결과를 얻을 수 있지만 map! 메서드가 더 간결합니다. def mda(너비, 높이) a = Array.new(너비) a.map! { Array.new(높이) }끝을 반환

5단계

아래 첨자(대괄호[]) 연산자와 함께 이 배열을 사용하십시오. 예를 들어 "a"라는 10x10 배열이 있고 7,3 요소를 원하면 a[7][3]: a = mda (10,10)# 배열을 값으로 채우기a[7][5] = "a string"a[2][9] = 23# 값 검색puts a[7][5]puts a[2][9]

6단계

Ruby에서 메소드 호출을 "연결"하는 기능을 활용하십시오. 예를 들어 Array.new 메서드는 배열을 반환합니다. 다른 메서드 호출을 여기에 연결하여 반환된 배열에서 메서드를 호출할 수 있습니다. 메서드를 연결하고 return 문을 사용하지 않기 때문에 변수 이름도 필요하지 않습니다. def mda (width, height) Array.new (width).map!{ Array.new (height) }end

루비는 표현력이 뛰어납니다. MDA 방법은 짧고 간결한 한 줄의 코드일 수 있습니다. 추가 라인과 키워드는 코드를 실제보다 더 복잡하게 보이게 합니다. Ruby에서는 return 문이 필요하지 않습니다. Ruby 메서드 및 블록은 메서드 또는 블록에서 마지막으로 실행된 명령문의 결과를 자동으로 반환합니다.