학습
Ruby 배열과 해시 (Arrays and Hashes)
Ruby 배열과 해시 (Arrays and Hashes) — 초급
배열과 해시 (Arrays and Hashes)
1. 도입 (왜 배워야 하는가)
배열과 해시는 프로그래밍에서 데이터를 조직하고 처리하는 데 필수적인 구조입니다. 배열은 순서가 있는 데이터의 집합, 해시는 키-값 쌍으로 이루어진 데이터의 집합입니다. 실무에서는 대량의 데이터를 다루거나, 사용자의 정보를 관리할 때 배열과 해시를 활용하여 효율적으로 작업할 수 있습니다.
이 두 가지 구조를 잘 이해하지 못하면, 데이터를 효과적으로 저장하고 검색하는 데 어려움을 겪을 수 있습니다. 예를 들어, 쇼핑몰에서 장바구니에 담긴 상품 정보를 관리할 때, 배열과 해시를 적절히 활용하지 않으면 사용자의 요청에 빠르게 응답할 수 없고, 데이터 관리가 비효율적이 될 수 있습니다.
2. 핵심 개념 설명
배열 (Array)
배열은 순서가 있는 데이터의 집합입니다. 예를 들어, 장바구니에 담긴 상품 목록을 배열로 저장할 수 있습니다. 배열의 각 요소는 인덱스를 통해 접근할 수 있습니다.
해시 (Hash)
해시는 키-값 쌍으로 데이터를 저장하는 구조입니다. 예를 들어, 사용자의 정보를 저장할 때, 이름, 이메일, 전화번호를 해시로 구성할 수 있습니다. 각 데이터는 고유한 키로 식별됩니다.
| 용어 | 설명 |
|---|---|
| 배열 | 순서가 있는 데이터의 집합 |
| 해시 | 키-값 쌍으로 구성된 데이터의 집합 |
3. 기본 코드 예제
배열 예제
fruits = ["사과", "바나나", "체리"]
puts fruits[0] # 첫 번째 요소 출력
puts fruits[1] # 두 번째 요소 출력
- 실행 결과:
사과
바나나
- fruits라는 배열에 세 개의 과일을 저장합니다.
- puts fruits[0]는 배열의 첫 번째 요소인 "사과"를 출력합니다.
- puts fruits[1]는 배열의 두 번째 요소인 "바나나"를 출력합니다.
해시 예제
user = { name: "홍길동", email: "[email protected]", age: 30 }
puts user[:name] # 이름 출력
puts user[:email] # 이메일 출력
홍길동
[email protected]
- user라는 해시에 사용자 정보를 저장합니다.
- puts user[:name]는 해시에서 "name" 키에 해당하는 값을 출력합니다.
- puts user[:email]은 "email" 키에 해당하는 값을 출력합니다.
4. 실전 활용 예제
예제 1: 쇼핑몰 장바구니
쇼핑몰에서 장바구니를 구현할 때 배열을 사용할 수 있습니다.
cart = []
cart << "신발"
cart << "티셔츠"
puts cart.inspect # 장바구니 내용 출력
예제 2: 사용자 정보 관리
사용자의 정보를 해시로 저장하고 출력할 수 있습니다.
users = []
users << { name: "김철수", age: 28 }
users << { name: "이영희", age: 22 }
puts users.inspect # 사용자 정보 출력
5. 흔한 실수와 주의사항
실수 1: 인덱스 오류
fruits = ["사과", "바나나"]
puts fruits[2] # 잘못된 인덱스 접근
nil이 출력되거나 IndexError가 발생할 수 있습니다.실수 2: 키 오류
user = { name: "홍길동" }
puts user[:age] # 존재하지 않는 키 접근
nil이 출력됩니다.