해시 요소에 접근하기
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 74번째.
이제 해시를 생성하는 방법을 알았으니, 그 안에 저장된 값을 검색해야 합니다. 숫자 인덱스를 사용하는 배열과 달리, 해시는 키를 사용하여 값에 접근합니다.
대괄호 안에 키를 넣어 해당 값을 가져옵니다:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # 출력: Alice
puts person["age"] # 출력: 25키는 해시를 생성할 때 사용한 것과 정확히 일치해야 합니다. 존재하지 않는 키에 접근하려고 하면, Ruby는 nil을 반환합니다:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # 출력: (없음 - nil)또한 fetch 메서드를 사용할 수도 있는데, 이 메서드를 사용하면 키가 없을 때 기본값을 제공할 수 있습니다:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # 출력: Alice
puts person.fetch("country", "Unknown") # 출력: Unknown이는 nil을 받는 대신 누락된 키를 유연하게 처리하고 싶을 때 유용합니다.
챌린지
쉬움네 줄의 입력을 읽으십시오:
- 제품 이름 (string)
- 가격 (float)
- 재고 수량 (integer)
- 조회할 키 (string)
다음과 같은 키-값 쌍을 가진 product라는 해시를 생성하십시오:
"name": 제품 이름에 매핑"price": 가격에 매핑 (float)"stock": 수량에 매핑 (integer)
그런 다음, fetch 메서드를 사용하여 네 번째 입력에서 제공된 키에 해당하는 값을 검색하십시오. 키가 존재하지 않으면 "Not found"를 기본값으로 사용하십시오. 결과를 출력하십시오.
예를 들어, 입력이 Laptop, 999.99, 15, price인 경우 출력은 다음과 같아야 합니다:
999.99입력이 Keyboard, 49.99, 100, name인 경우 출력은 다음과 같아야 합니다:
Keyboard입력이 Mouse, 29.99, 50, color인 경우 출력은 다음과 같아야 합니다:
Not found입력이 Monitor, 299.0, 8, stock인 경우 출력은 다음과 같아야 합니다:
8치트 시트
해시의 값에 접근하려면 대괄호 안에 키를 사용하세요:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # 출력: Alice
puts person["age"] # 출력: 25키가 존재하지 않으면 Ruby는 nil을 반환합니다:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # 출력: (없음 - nil)누락된 키에 대해 기본값을 제공하려면 fetch 메서드를 사용하세요:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # 출력: Alice
puts person.fetch("country", "Unknown") # 출력: Unknown직접 해보기
# 입력 읽기
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp
# TODO: 아래에 코드를 작성하세요
# "name", "price", "stock" 키를 가진 'product'라는 해시를 생성하세요
# 그런 다음 fetch 메서드를 사용하여 key_to_lookup에 대한 값을 가져오세요
# 키가 존재하지 않을 경우 기본값으로 "Not found"를 사용하세요
# 결과 출력
puts result이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.