해시 키로 심볼 사용하기
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 코드 전반에서 이런 패턴을 볼 수 있으니 익숙해지는 것이 좋습니다.
챌린지
쉬움세 줄의 입력을 읽으세요.
- 자동차 브랜드(문자열)
- 모델명(문자열)
- 연도(정수)
다음 키-값 쌍을 사용하여 심볼 축약 구문(예: key: value)으로 car라는 해시를 만드세요.
:brand에는 자동차 브랜드를 연결합니다.:model에는 모델명을 연결합니다.:year에는 연도(정수)를 연결합니다.
그런 다음 다음 작업을 수행하세요.
:model키의 값을 출력합니다."black"값을 가진 새 키:color를 추가합니다.- 현재 값에 1을 더해
:year키를 업데이트합니다. - 최종 해시를 출력합니다.
예를 들어 입력이 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. 최종 해시를 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Ruby 컴파일러