8.2.9. Выборка пар ключ-значение по заданному критерию
8.2.9. Выборка пар ключ-значение по заданному критерию
К классу Hash подмешан модуль Enumerable, поэтому можно обращаться к методам detect (find), select (find_all), grep, min, max и reject (как и для массивов).
Метод detect (синоним find) находит одну пару ключ-значение. Он принимает блок (которому передается по одной паре за раз) и возвращает первую пару, для которой вычисление блока дает true.
names = {"fred"=>"jones","jane"=>"tucker", "joe"=>"tucker","mary"=>"SMITH"}
# Найти tucker.
names.detect {|k,v| v=="tucker" } # ["joe","tucker"]
# Найти имена, записанные прописными буквами.
names.find {|k,v| v==v.upcase } # ["mary", "SMITH"]
Разумеется, объекты в хэше могут быть сколь угодно сложными, как и условие, проверяемое в блоке, но сравнение объектов разных типов может оказаться проблематичным.
Метод select (синоним find_all) возвращает все пары, удовлетворяющие условию, а не только первую:
names.select {|k,v| v=="tucker" }
# [["joe", "tucker"], ["jane", "tucker"]]
names.find_all (|k,v| k.count("r")>0}
# [["mary", "SMITH"], ["fred", "jones"]]
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Номер - это ключ.
Номер - это ключ. После того как файл открыт для доступа VBA, обращение к нему осуществляется по номеру, а не по имени. Если приходится работать с несколькими файлами одновременно, отслеживать то, какой файл вам необходим в данный момент, совсем не просто. В принципе, никто не
3.14.2. Сопоставление с парой «ключ-значение»
3.14.2. Сопоставление с парой «ключ-значение» Иногда приходится работать со строками вида «ключ=значение» (например, при разборе конфигурационного файла приложения).Следующий код извлекает ключ и значение. Предполагается, что ключ состоит из одного слова, значение
8.1.6. Выборка из массива по заданному критерию
8.1.6. Выборка из массива по заданному критерию Иногда нужно найти в массиве один или несколько элементов так, как будто мы опрашиваем таблицу в базе данных. Для этого есть несколько способов; рассмотренные ниже реализованы в подмешанном модуле Enumerable.Метод detect находит не
8.2.3. Доступ к парам ключ-значение и добавление новых пар
8.2.3. Доступ к парам ключ-значение и добавление новых пар В классе Hash есть методы класса [] и []=. Используются они почти так же, как одноименные методы в классе Array, но принимают лишь один параметр. В качестве параметра может выступать любой объект, а не только строка (хотя
8.2.4. Удаление пар ключ-значение
8.2.4. Удаление пар ключ-значение Удалить пары ключ-значение из хэша можно с помощью методов clear, delete, delete_if, reject, reject! и shift.Метод clear удаляет из хэша все пары. Эффект такой же, как от присваивания переменной нового пустого хэша, но работает чуть быстрее.Метод shift удаляет
4.4.5. Выборка пространственных данных
4.4.5. Выборка пространственных данных Значения геометрии, сохраненные в таблице, могут быть выбраны во внутреннем формате. Вы можете также преобразовывать их в формат WKT или WKB.Выборка пространственных данных во внутреннем формате:Выборка геометрии с использованием
16.9. Выборка данных в фоновом режиме
16.9. Выборка данных в фоновом режиме Постановка задачи Требуется выполнять операции выборки данных в стеке Core Data, причем только в фоновом режиме. Это отличная возможность создать по-настоящему отзывчивый пользовательский
Интерактивная выборка
Интерактивная выборка Интерактивные временные ряды деятельности по блокировкам генерируются, когда fb_iock_print выполняется с переключателем -i для измерения производительности Менеджера блокировок. Это моделирует UNIX-утилиту sar (System Activity Reporter, построитель отчетов системной
11.1.8. Сортировка по заданному полю
11.1.8. Сортировка по заданному полю В следующем примере файл сортируется по кодам фирм–дистрибьюторов. Поскольку требуемая информация находится во втором поле (ключ сортировки 1(, следует указать опцию +1. Кроме того, необходимо задать разделитель полей с помощью опции -t:,
2.5.6. Ключ продукта
2.5.6. Ключ продукта А теперь самое интересное: нужно ввести ключ продукта (рис. 2.15). Заметьте: ключ вводится уже после установки системы. Поэтому если вы выбрали выпуск Windows, не соответствующий имеющемуся ключу, установить Windows не получится. А для смены выпуска нужно
Доверие: ключ к обману
Доверие: ключ к обману Чем естественней социальный инженер общается с жертвой, тем больше он ослабляет подозрение. Когда у людей нет причины для подозрений, социальному инженеру становится легко приобрести доверие жертвы.Как только он получает ваше доверие, разводной
«Высокий ключ»
«Высокий ключ» High key, или «высокий ключ», – это фотография в светлой тональности, выполненная в светло-белесых тонах, когда контуры и очертания объектов будто растворяются в светлом сиянии – ярком белом свете. У зрителя создается впечатление, что все в кадре заполняет
«Низкий ключ»
«Низкий ключ» Low key – «низкий ключ» – техника съемки, которая используется для получения фотографии с преобладанием темных тонов (рис. 10.4). На снимке будут иметь место абсолютно черные участки, а также резкие тени. Вам нужно добиться, чтобы фон получился совершенно черным,