Juwan Park :: 2차원 배열 처리 예제

2차원 배열 처리 예제

★프로그래밍/Ruby :: 2015. 9. 21. 21:09

2차원 배열 예제입니다.

루비에서는 aa = Array.new {Array.new} 이런 식으로 선언하면 2차원 배열이 할당됩니다.
물론 같은 방법으로 aa = Array.new {Array.new {Array.new}} 이렇게 써서 3차원 배열도 가능합니다.

루비에서 2차원 배열은 배열 안에 배열이 들어 있는 것으로 구현됩니다. 즉, [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 이런 식이지요.
또한, 배열 안의 자료형이 모두 같지 않아도 됩니다. 예를 들어, [1, 2, "A", [1, "B"], 1.1] 이런 식으로도 가능합니다.

여기서는 2차원 배열의 선언 예제와 배열 반복문 예제를 보여 드립니다.
배열 반복문은 for 문을 써도 되지만 끝까지 훑으려면 배열명.each do |저장변수| 로 시작해 end로 끝내는 반복문도 가능합니다.

# 2차원 배열 정의 예제
product_data = Array.new {Array.new}

# 2차원 배열 데이터 설정
product_data = [["육개장 사발면",  800, 20],
                ["김치 사발면",    800, 10],
                ["새우탕 큰사발", 1000, 10],
                ["짜파게티",       900, 20]]

puts "현재 상품 재고 상태는 다음과 같습니다."
puts

# 배열 끝까지 훑는 반복문
product_data.each do |pdata|
  # product_data[n]에 해당하는 값을 pdata에 대입합니다.
  # pdata = ["육개장 사발면", 800, 20] 이런 식으로 됩니다.
  puts sprintf("[%s]의 단가는 %d원이며 %d개의 재고가 있습니다.",
    pdata[0], pdata[1], pdata[2])
end

아래는 이 코드를 실행한 스크린샷입니다.

유용하게 활용하시기 바랍니다.

Today    Yday    Tot
Juwan Park
Juwan Park's blog is powered by Daum and .
Contemporary Blue for .
Designed by Juwan Park. Creative Commons License
▲ TOP