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}

Попробуйте сами

# Чтение входных данных
title = gets.chomp
author = gets.chomp
year = gets.to_i

# TODO: Создайте хэш с именем 'book' с тремя парами ключ-значение, используя синтаксис hash rocket (=>)
# Ключи должны быть: "title", "author", "year"


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

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby