9.1.1. Простые операции над множествами
9.1.1. Простые операции над множествами
Для объединения множеств служит метод union (синонимы | и +):
x = Set[1,2,3]
y = Set[3,4,5]
а = x.union(y) # Set[1,2,3,4,5]
b = x | y # То же самое.
с = x + y # То же самое.
Пересечение множеств вычисляется методом intersection (синоним &):
x = Set[1,2,3]
y = Set[3,4,5]
а = x.intersection(y) # Set[3]
b = x & y # То же самое.
Унарный минус обозначает разность множеств; мы обсуждали эту операцию в разделе 8.1.9.
diff = Set[1,2,3] - Set[3,4,5] # Set[1,2]
Принадлежность элемента множеству проверяют методы member? или include?, как для массивов. Напомним, что порядок операндов противоположен принятому в математике.
Set[1,2,3].include?(2) # true
Set[1,2,3].include?(4) # false
Set[1,2,3].member?(4) # false
Чтобы проверить, является ли множество пустым, мы вызываем метод empty?, как и в случае с массивами. Метод clear очищать множество, то есть удаляет из него все элементы.
s = Set[1,2,3,4,5,6]
s.empty? # false
s.clear
s.empty? # true
Можно проверить, является ли одно множество подмножеством, собственным подмножеством или надмножеством другого.
x = Set[3,4,5]
y = Set[3,4]
x.subset?(y) # false
y.subset?(x) # true
y.proper_subset?(x) # true
x.subset?(x) # true
x.proper_subset?(x) # false
x.superset?(y) # true
Метод add (синоним <<) добавляет в множество один элемент и обычно возвращает его в качестве значения. Метод add? возвращает nil, если такой элемент уже присутствовал в множестве. Метод merge полезен, если надо добавить сразу несколько элементов. Все они, конечно, могут изменить состояние вызывающего объекта. Метод replace работает так же, как в случае со строкой или массивом.
Наконец, два множества можно сравнить на равенство интуитивно очевидным способом:
Set[3,4,5] == Set[5,4,3] # true
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
12.1.2. Простые сигналы
12.1.2. Простые сигналы Изначально обработка сигналов была проста. Системный вызов signal() использовался для того, чтобы сообщить ядру, как доставить процессу определенный сигнал.#include <signal.h>void * signal(int signum, void *handler);Здесь signum — это сигнал, который нужно обработать, a handler
11.1. Простые проекты
0
Традиционные операции над множествами и оператор SELECT
Традиционные операции над множествами и оператор SELECT Традиционные операции над множествами - это объединение, пересечение, разность и декартово произведение. Декартово произведение Ранее мы уже рассмотрели реализацию декартова произведения, перечисляя через запятую
11.5. Простые программы
11.5. Простые программы Поскольку семафоры System V обладают живучестью ядра, мы можем продемонстрировать работу с ними, написав несколько небольших программ, которые будут выполнять с семафорами различные действия. В промежутках между выполнением отдельных программ
13.4. Простые программы
13.4. Простые программы Приведем несколько примеров программ, работающих с разделяемой памятью
14.6. Простые программы
14.6. Простые программы В этом разделе приведено несколько примеров простых программ, иллюстрирующих работу с разделяемой памятью System
7.8. Выполнение для последовательностей операций над множествами
7.8. Выполнение для последовательностей операций над множествами ПроблемаИмеются последовательности, которые требуется реорганизовать с помощью операций над множествами, таких как объединение (union), различие (difference) или пересечение (intersection).РешениеДля этой цели
Простые числа
Простые числа ??** Головоломка 16. Чемпион головоломок.На мой взгляд, наиболее замечательная арифметическая головоломка, над которой мне пришлось особенно долго работать и которая дала мне возможность получить некоторые удовлетворительные результаты, — это, конечно,
12.5.8. Алгоритмы работы с множествами
12.5.8. Алгоритмы работы с множествами Четыре алгоритма этой категории реализуют теоретико-множественные операции над любым контейнерным типом. При объединении создается отсортированная последовательность элементов, принадлежащих хотя бы одному контейнеру, при
Простые классы
Простые классы MFC содержит классы, соответствующие объектам типа простых геометрических фигур, текстовых строк и объектам, определяющим дату и время. В следующей таблице перечислены названия этих классов и их краткие описания. Класс Описание CPoint Объекты класса
Операции с множествами узлов
Операции с множествами узлов Три основные операции с множествами узлов, которые поддерживает язык XPath, — это фильтрация множества, выборка с использованием путей и
Операции над множествами
Операции над множествами Рассматривая такой тип данных, как множества узлов, мы отмечали ограниченность операций, которые можно с ними производить. В частности, XSLT не предоставляет стандартных операторов для определения принадлежности одного множества другому,
18.3.10. Простые операторы if else
18.3.10. Простые операторы if else Следующая форма оператора if применяется чаще всего:if условие then команды1 elseкоманды2 fiЕсли условие не удовлетворяет тестированию, часть else оператора if позволяет перейти к соответствующей