Menu
CoddyTech

해시 키로 심볼 사용하기

Coddy Ruby 여정의 기초 섹션에 포함된 레슨. 88개 중 78번째.

지금까지는 해시 로켓 구문을 사용해 문자열을 해시 키로 사용했습니다. 하지만 Ruby 개발자들은 대신 기호를 키로 사용하는 경우가 많으며, 이는 더 깔끔하고 효율적인 방식입니다.

앞에서 배운 기호를 기억하나요? 기호는 콜론으로 시작하는 가볍고 변경할 수 없는 식별자입니다. 기호를 키로 사용할 때 Ruby는 특별한 약식 구문을 제공합니다.

person = {name: "Alice", age: 25, city: "Paris"}

puts person  # 출력: {:name=>"Alice", :age=>25, :city=>"Paris"}

name:이 :name =>을 대체하는 점에 주목하세요. 이 축약형은 키가 심볼일 때만 작동합니다. 값을 가져오려면 대괄호와 함께 심볼을 사용하세요.

person = {name: "Alice", age: 25}

puts person[:name]  # 출력: Alice
puts person[:age]   # 출력: 25

항목을 추가하고 수정하는 방법은 동일합니다.

person = {name: "Alice"}

person[:city] = "Paris"
person[:name] = "Bob"

puts person  # 출력: {:name=>"Bob", :city=>"Paris"}

기호는 문자열보다 비교 속도가 빠르고 메모리를 적게 사용하므로 해시 키로 사용하는 것이 좋습니다. Ruby 코드 전반에서 이런 패턴을 볼 수 있으니 익숙해지는 것이 좋습니다.

challenge icon

챌린지

쉬움

세 줄의 입력을 읽으세요.

  1. 자동차 브랜드(문자열)
  2. 모델명(문자열)
  3. 연도(정수)

다음 키-값 쌍을 사용하여 심볼 축약 구문(예: key: value)으로 car라는 해시를 만드세요.

  • :brand에는 자동차 브랜드를 연결합니다.
  • :model에는 모델명을 연결합니다.
  • :year에는 연도(정수)를 연결합니다.

그런 다음 다음 작업을 수행하세요.

  1. :model 키의 값을 출력합니다.
  2. "black" 값을 가진 새 키 :color를 추가합니다.
  3. 현재 값에 1을 더해 :year 키를 업데이트합니다.
  4. 최종 해시를 출력합니다.

예를 들어 입력이 Toyota, Camry, 2020이면 출력은 다음과 같아야 합니다.

Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}

입력이 Honda, Civic, 2018이면 출력은 다음과 같아야 합니다.

Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}

입력이 Ford, Mustang, 2023이면 출력은 다음과 같아야 합니다.

Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}

직접 해보기

# 입력을 읽습니다
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i

# TODO: 아래에 코드를 작성하세요
# 1. 심벌 축약 문법을 사용해 :brand, :model, :year 키를 가진 'car'라는 해시를 만드세요

# 2. :model 키의 값을 출력하세요

# 3. 값이 "black"인 새 키 :color를 추가하세요

# 4. :year 키의 현재 값에 1을 더해 갱신하세요

# 5. 최종 해시를 출력하세요
quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: 온라인 Ruby 컴파일러