Menu
Coddy logo textTech

해시 생성하기

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

배열은 순서가 있는 리스트를 저장하는 데 유용하지만, 때로는 숫자 인덱스 대신 특정 레이블에 값을 연결해야 할 때가 있습니다. 해시는 데이터를 키-값 쌍으로 저장하며, 각 키는 그에 대응하는 값을 가리킵니다.

해시를 생성하려면, =>(해시 로켓이라고 함)로 구분된 키와 값을 중괄호와 함께 사용하세요:

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

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

각 키는 해시 내에서 고유해야 하지만, 값은 중복될 수 있습니다. 키와 값은 문자열, 숫자 또는 배열을 포함한 모든 데이터 유형이 될 수 있습니다.

빈 해시를 생성하고 나중에 쌍을 추가할 수도 있습니다:

scores = {}

puts scores  # 출력: {}

해시는 이름과 가격이 있는 상품이나 이메일과 비밀번호가 있는 사용자와 같이 이름이 지정된 속성을 가진 실제 객체를 표현하는 데 완벽합니다. 위치를 기억해야 하는 배열과 달리, 해시를 사용하면 의미 있는 이름을 사용하여 데이터를 구성할 수 있습니다.

challenge icon

챌린지

쉬움

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

  1. 책 제목 (문자열)
  2. 저자 이름 (문자열)
  3. 출판 연도 (정수)

해시 로켓 문법(=>)을 사용하여 세 개의 키-값 쌍을 가진 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
quiz icon실력 점검

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

기초의 모든 레슨