2차원 배열 처리 예제
★프로그래밍/Ruby :: 2015. 9. 21. 21:092차원 배열 예제입니다.
루비에서는 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
아래는 이 코드를 실행한 스크린샷입니다.
유용하게 활용하시기 바랍니다.