Sets
Operators and functions for working with an array of boolean values (set type) are described here.

Operators

Operator
Result
Description
* set
int
Returns the set size.
^ set
set
Returns a new set as logical NOT of the source set. !s[i] for each item.
set = set
set
Assignment operator.
set &= set
set
Create a clone of the set. The new variable will work with the same data set.
set += set
set
Appends a set to a set variable.
set & set
set
Returns a set that is the intersection of two sets. left[i] && right[i] for each item.
set | set
set
Returns a set that is the union of two sets. left[i] || right[i] for each item.
set [ int ]
bool
Sets/gets a set value.

Functions

arr(set s) arr.int

The arr function converts a set value to an array of integers that contains indexes of set items.

set(str s) set

The set function converts a string to a set value and returns it. The string must only have 1 and 0 characters.

set(arr.int a) set

The set function converts an array of integers to a set value and returns it. The result set will have items with corresponding indexes.
1
run arr.int {
2
set s &= {780, 99, 128, 105, 136}
3
arr.int as = arr(s)
4
as += 330
5
s &= set(as)
6
return arr(s) // [99 105 128 136 330 780]
7
}
Copied!

str(set s) str

The str function converts a set value to a string and returns it. The result string contains only 1 and 0.

Set(set s, int index) set

The Set function adds an index item to the set. It is the same as s[index] = true. The function returns s.

Toggle(set s, int index) bool

The Toggle function adds an index item to the set if the set doesn't have it and otherwise, the function removes the item. It is the same as s[index] = !s[index]. The function returns the previous state - true if the item existed and, otherwise, false.

UnSet(set s, int index) set

The UnSet function removes an index item from the set. It is the same as s[index] = false. The function returns s.
Last modified 2yr ago