Menu
Coddy logo textTech

Создание хэшей

Часть раздела Основы путешествия по Ruby на Coddy — урок 73 из 88.

Массивы отлично подходят для хранения упорядоченных списков, но иногда вам нужно связать значения с определенными метками, а не с числовыми индексами. Хеш хранит данные в виде пар «ключ-значение», где каждый ключ указывает на соответствующее значение.

Чтобы создать хеш, используйте фигурные скобки, в которых ключи и значения разделены => (называется «hash rocket»):

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

puts person  # Вывод: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}

Каждый ключ должен быть уникальным внутри хеша, но значения могут повторяться. Ключи и значения могут быть любого типа данных, включая строки, числа или даже массивы.

Вы также можете создать пустой хеш и добавить пары позже:

scores = {}

puts scores  # Выводит: {}

Хеши идеально подходят для представления объектов реального мира с именованными атрибутами, таких как товар с названием и ценой или пользователь с электронной почтой и паролем. В отличие от массивов, где вы запоминаете позиции, хеши позволяют использовать осмысленные имена для организации ваших данных.

challenge icon

Задание

Легко

Прочитайте три строки ввода:

  1. Название книги (строка)
  2. Имя автора (строка)
  3. Год издания (целое число)

Создайте хеш с именем book с тремя парами ключ-значение, используя синтаксис hash rocket (=>):

  • "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}

Шпаргалка

Хеш хранит данные в виде пар «ключ-значение», где каждый ключ указывает на соответствующее значение.

Чтобы создать хеш, используйте фигурные скобки, разделяя ключи и значения с помощью => (hash rocket):

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' с тремя парами ключ-значение, используя синтаксис hash rocket (=>)
# Ключи должны быть: "title", "author", "year"


# Вывод хэша
puts book
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы