해시 생성하기
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 73번째.
배열은 순서가 있는 리스트를 저장하는 데 유용하지만, 때로는 숫자 인덱스 대신 특정 레이블에 값을 연결해야 할 때가 있습니다. 해시는 데이터를 키-값 쌍으로 저장하며, 각 키는 그에 대응하는 값을 가리킵니다.
해시를 생성하려면, =>(해시 로켓이라고 함)로 구분된 키와 값을 중괄호와 함께 사용하세요:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # 출력: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}각 키는 해시 내에서 고유해야 하지만, 값은 중복될 수 있습니다. 키와 값은 문자열, 숫자 또는 배열을 포함한 모든 데이터 유형이 될 수 있습니다.
빈 해시를 생성하고 나중에 쌍을 추가할 수도 있습니다:
scores = {}
puts scores # 출력: {}해시는 이름과 가격이 있는 상품이나 이메일과 비밀번호가 있는 사용자와 같이 이름이 지정된 속성을 가진 실제 객체를 표현하는 데 완벽합니다. 위치를 기억해야 하는 배열과 달리, 해시를 사용하면 의미 있는 이름을 사용하여 데이터를 구성할 수 있습니다.
챌린지
쉬움세 줄의 입력을 읽으십시오:
- 책 제목 (문자열)
- 저자 이름 (문자열)
- 출판 연도 (정수)
해시 로켓 문법(=>)을 사용하여 세 개의 키-값 쌍을 가진 book이라는 이름의 해시를 생성하십시오:
"title": 책 제목에 매핑"author": 저자 이름에 매핑"year": 출판 연도에 매핑 (정수형)
puts를 사용하여 해시를 출력하십시오.
예를 들어, 입력값이 Ruby Basics, Jane Smith, 2023인 경우 출력은 다음과 같아야 합니다:
{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}입력값이 The Great Gatsby, F. Scott Fitzgerald, 1925인 경우 출력은 다음과 같아야 합니다:
{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}입력값이 1984, George Orwell, 1949인 경우 출력은 다음과 같아야 합니다:
{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}치트 시트
해시는 데이터를 키-값 쌍으로 저장하며, 각 키는 해당 값을 가리킵니다.
해시를 생성하려면 중괄호를 사용하고 키와 값을 => (해시 로켓)으로 구분합니다.
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # 출력: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}각 키는 해시 내에서 고유해야 하지만, 값은 중복될 수 있습니다. 키와 값은 문자열, 숫자, 배열을 포함한 모든 데이터 타입이 될 수 있습니다.
빈 해시를 생성할 수 있습니다.
scores = {}
puts scores # 출력: {}직접 해보기
# 입력 읽기
title = gets.chomp
author = gets.chomp
year = gets.to_i
# TODO: 해시 로켓 구문(=>)을 사용하여 세 개의 키-값 쌍을 가진 'book'이라는 해시를 생성하세요
# 키는 "title", "author", "year"여야 합니다
# 해시 출력
puts book이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.