Создание хэшей
Часть раздела Основы путешествия по Ruby на Coddy — урок 73 из 88.
Массивы отлично подходят для хранения упорядоченных списков, но иногда вам нужно связать значения с определенными метками, а не с числовыми индексами. Хеш хранит данные в виде пар «ключ-значение», где каждый ключ указывает на соответствующее значение.
Чтобы создать хеш, используйте фигурные скобки, в которых ключи и значения разделены => (называется «hash rocket»):
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # Вывод: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}Каждый ключ должен быть уникальным внутри хеша, но значения могут повторяться. Ключи и значения могут быть любого типа данных, включая строки, числа или даже массивы.
Вы также можете создать пустой хеш и добавить пары позже:
scores = {}
puts scores # Выводит: {}Хеши идеально подходят для представления объектов реального мира с именованными атрибутами, таких как товар с названием и ценой или пользователь с электронной почтой и паролем. В отличие от массивов, где вы запоминаете позиции, хеши позволяют использовать осмысленные имена для организации ваших данных.
Задание
ЛегкоПрочитайте три строки ввода:
- Название книги (строка)
- Имя автора (строка)
- Год издания (целое число)
Создайте хеш с именем 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В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь