Книга: Программирование на языке Ruby
8.2.4. Удаление пар ключ-значение
8.2.4. Удаление пар ключ-значение
Удалить пары ключ-значение из хэша можно с помощью методов clear
, delete
, delete_if
, reject
, reject!
и shift
.
Метод clear
удаляет из хэша все пары. Эффект такой же, как от присваивания переменной нового пустого хэша, но работает чуть быстрее.
Метод shift
удаляет незаданную пару ключ-значение и возвращает ее в виде массива из двух элементов или nil
, если никаких ключей не осталось.
a = {1=>2, 3=>4}
b = a.shift # [1,2]
# а равно {3=>4}
Метод delete
удаляет конкретную пару ключ-значение. Он принимает в качестве параметра ключ и возвращает ассоциированное с ним значение, если такой ключ существовал (и был удален). В противном случае возвращается значение по умолчанию. Метод также принимает блок, который вырабатывает уникальное значение по умолчанию вместо того, чтобы возвращать ссылку на общий объект.
a = (1=>1, 2=>4, 3=>9, 4=>16)
a.delete(3) # 9
# a is now {1=>1, 2 =>4, 4=>16)
a.delete(5) # в этом случае nil.
delete(6) { "не найдено" } # "не найдено".
Пользуйтесь методами delete_if
, reject
или reject!
в сочетании с обязательны блоком, чтобы удалить все ключи, для которых блок возвращает значение true
. Метод reject
работает с копией хэша, а метод reject!
возвращает nil
, если не было произведено никаких изменений.
- 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. Реализация хэша с повторяющимися ключами
- Назначение привилегий роли
- Подключение к базе данных с использованием роли
- От исключительной полезности к стратегическому ценообразованию
- Заключение
- Ключевые слова
- Основные параметры ЭЛТ-мониторов
- Отключение питания
- Выбор аппаратного обеспечения для InterBase
- 1.2.1. Ключевые слова и идентификаторы
- 1.3. Правила подключения к компьютеру внешних устройств
- Включение и отключение синхронного вывода
- Распараллеливание на несколько процессоров