Множества
Здесь описаны операторы и функции для работы с массивом логических значений (тип set).

Операторы

Оператор
Результат
Описание
* set
int
Возвращает размер массива.
^ set
set
Возвращает новое множество, которое обратно указанному. !s[i] для каждого элемента.
set = set
set
Оператор присваивания.
set &= set
set
Создает клон множества. Новая переменная будет работать с тем же набором данных.
set += set
set
Добавить значение одного множества к другому.
set & set
set
Возвращает множество, которое является пересечением двух множеств. left[i] && right[i] для каждого элемента.
set | set
set
Возвращает множество, которое является объединением двух множеств. left[i] || right[i] для каждого элемента.
set [ int ]
bool
Установить/получить элемент множества.

Функции

arr(set s) arr.int

Функция arr конвертирует множество set в массив целых чисел, который содержит индексы элементов множества.

set(str s) set

Функция set конвертирует строку в множество set и возвращает его. Строка должна содержать только символы 1 и 0.

set(arr.int a) set

Функция set конвертирует массив целых чисел в множество set и возвращает его. Результирующее множество будет иметь элементы с соответствующими индексами.
run arr.int {
set s &= {780, 99, 128, 105, 136}
arr.int as = arr(s)
as += 330
s &= set(as)
return arr(s) // [99 105 128 136 330 780]
}

str(set s) str

Функция str конвертирует множество в строку и возвращает её. Результирующая строка содержит только символы 1 и 0.

Set(set s, int index) set

Функция Set добавляет элемент к множеству. Эквивалентно s[index] = true. Функция возвращает s.

Toggle(set s, int index) bool

Функция Toggle добавляет элемент множеству, если его не существует, в противном случае, элемент удаляется. Эквивалентно s[index] = !s[index]. Функция возвращает предыдущее состояние - true, если элемент существовал и false в противном случае.

UnSet(set s, int index) set

Функция UnSet удаляет элемент из множества. Эквивалентно s[index] = false. Функция возвращает s.
Copy link
Outline
Операторы
Функции
arr(set s) arr.int
set(str s) set
set(arr.int a) set
str(set s) str
Set(set s, int index) set
Toggle(set s, int index) bool
UnSet(set s, int index) set