Menu
Coddy logo textTech

해시 요소에 접근하기

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을 받는 대신 누락된 키를 유연하게 처리하고 싶을 때 유용합니다.

challenge icon

챌린지

쉬움

네 줄의 입력을 읽으십시오:

  1. 제품 이름 (string)
  2. 가격 (float)
  3. 재고 수량 (integer)
  4. 조회할 키 (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
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨