Chapter 10. Mängdlära i GEL
Prev |  | Next

# Chapter 10. Mängdlära i GEL

Genius har viss grundläggande mängdteoretisk funktionalitet inbyggd. För närvarande är en mängd bara en vektor (eller en matris). Varje distinkt objekt behandlas som ett eget element.

## Använda mängder

Precis som vektorer kan objekt i mängder inkludera tal, strängar, `null`, matriser och vektorer. Det planeras att i framtiden ha en enkom typ för mängder, snarare än att använda vektorer. Observera att flyttal skiljer sig åt från heltal även om de verkar vara lika. Det vill säga Genius behandlar `0` och `0.0` som två olika element. `null` behandlas som en tom mängd.

To build a set out of a vector, use the `MakeSet` function. Currently, it will just return a new vector where every element is unique.

    genius> MakeSet([1,2,2,3])
    = [1, 2, 3]

Similarly there are functions `Union`, `Intersection`, `SetMinus`, which are rather self explanatory. For example:

    genius> Union([1,2,3], [1,2,4])
    = [1, 2, 4, 3]

Note that no order is guaranteed for the return values. If you wish to sort the vector you should use the `SortVector` function.

For testing membership, there are functions `IsIn` and `IsSubset`, which return a boolean value. For example:

    genius> IsIn (1, [0,1,2])
    = true

The input `IsIn(x,X)` is equivalent to `IsSubset([x],X)`. Note that since the empty set is a subset of every set, `IsSubset(null,X)` is always true.

Prev |  | Next
Chapter 9. Polynom i GEL | Home | Chapter 11. Lista över GEL-funktioner