Книга: Программирование на языке Ruby
8.2.5. Обход хэша
8.2.5. Обход хэша
В классе Hash
имеется стандартный итератор each
, а кроме него итераторы each_key
, each_pair
и each_value(each_pair
— синоним each
).
{"а"=>3, "b"=>2}.each do |key, val|
print val, " из ", key, "; " # 3 из a; 2 из b;
end
Остальные два итератора передают в блок только ключ или только значение:
{"а"=>3,"b"=>2}.each_key do |key|
print "ключ = #{key};" # Печатается: ключ = a; key = b;
end
{"a"=>3,"b"=>2).each_value do |value|
print "значение = #{value};" # Печатается: значение = 3; val = 2;
end
Оглавление статьи/книги
- 8.2.1. Создание нового хэша
- 8.2.2. Указание значения по умолчанию для хэша
- 8.2.3. Доступ к парам ключ-значение и добавление новых пар
- 8.2.4. Удаление пар ключ-значение
- 8.2.5. Обход хэша
- 8.2.6. Инвертирование хэша
- 8.2.7. Поиск ключей и значений в хэше
- 8.2.8. Копирование хэша в массив
- 8.2.9. Выборка пар ключ-значение по заданному критерию
- 8.2.10. Сортировка хэша
- 8.2.11. Объединение двух хэшей
- 8.2.12. Создание хэша из массива
- 8.2.13. Вычисление разности и пересечения хэшей
- 8.2.14. Хэш как разреженная матрица
- 8.2.15. Реализация хэша с повторяющимися ключами
Похожие страницы
- 8.2.8. Копирование хэша в массив
- 14.4.2. Хранение переменных окружения в виде массива или хэша
- 8.1.18. Обход массива
- 8.2.10. Сортировка хэша
- 8.2.6. Инвертирование хэша
- 8.2.12. Создание хэша из массива
- 8.2.1. Создание нового хэша
- Почему необходима миграция
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Обход дерева
- Определение необходимого системного вызова
- Добавление списка необходимых предметов