Создание хэшей
Часть раздела Основы путешествия по Ruby на Coddy. Урок 73 из 88.
Массивы отлично подходят для хранения упорядоченных списков, но иногда нужно связывать значения с определёнными метками, а не с числовыми индексами. Хеш хранит данные в виде пар «ключ—значение», где каждому ключу соответствует значение.
Чтобы создать хеш, используйте фигурные скобки, а ключи и значения разделяйте с помощью => (это называется стрелкой хеша):
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}Попробуйте сами
# Считайте ввод
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Преобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby