int32 | m$operation ( map1_var, map2, op_mode ) |
map | mapOperation ( map1, map2, op_mode ) |
map1_var | Die Funktion
Der Inhalt der Variable |
map1 | Die erste Quell-Menge. |
map2 | Die zweite Quell-Menge. |
op_mode | Einer der unten definierten Operations-Modi. |
Die beiden Funktionen
Zuerst soll untersucht werden, welche Möglichkeiten der Mengenverknüpfung existieren.
Werden zwei Mengen
Es gibt nur eine Möglichkeit: Ein unbekanntes Element kann nie in die Ergebnismenge aufgenommen werden.
Es gibt zwei Möglichkeiten: Das Element wird mit dem zugehörigen Wert in die Ergebnismenge aufgenommen oder es wird ignoriert.
Es gibt zwei Möglichkeiten: Das Element wird mit dem zugehörigen Wert in die Ergebnismenge aufgenommen oder es wird ignoriert.
Es gibt drei Möglichkeiten:
Das Element wird mit dem zugehörigen Wert aus der Menge
Es existieren also
Die Werte der obigen zwölf Konstanten sind so gewählt, das die folgenden Konstanten jeweils ein Bit mit einer speziellen Bedeutung repräsentieren:
Ist
Die folgende Tabelle zeigt, wie zwei Mengen je nach Operations-Modus verknüpft werden:
Beispiele | |||
---|---|---|---|
m1 | m2 | op | m$operation(m1,m2,op)→m1 |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x00 = _SET_CLEAR | |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x01 = _SET_EXCLUSIVE_1 | ["A"=1] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x02 = _SET_EXCLUSIVE_2 | ["B"=2] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x03 = _SET_EXCLUSIVE | ["A"=1,"B"=2] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x04 = _SET_AND_1 | ["X"=1] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x05 = _SET_COPY_1 | ["A"=1,"X"=1] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x06 = _SET_REPLACE_2_BY_1 | ["B"=2,"X"=1] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x07 = _SET_OR_1 | ["A"=1,"B"=2,"X"=1] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x0c = _SET_AND_2 | ["X"=2] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x0d = _SET_REPLACE_1_BY_2 | ["A"=1,"X"=2] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x0e = _SET_COPY_2 | ["B"=2,"X"=2] |
["A"=1,"X"=1] | ["B"=2,"X"=2] | 0x0f = _SET_OR_2 | ["A"=1,"B"=2,"X"=2] |
Die Funktion
Die Funktion
Maps | |
---|---|
Funktion | Kurzinfo |
— | |
Die komplette Listen- und/oder Map-Struktur in eine flache Liste überführen. | |
Test, ob eine Variable mit gegebenen oder errechnetem Namen existiert und vom Typ |
|
— | |
Die Anzahl der Zeichen einer Zeichenkette bzw. die Anzahl der Elemente einer Liste oder einer Map bestimmen. | |
Die Anzahl der Zeichen einer Zeichenkette bzw. die Anzahl der Elemente einer Liste oder einer Map bestimmen. | |
— | |
— | |
— | |
Ein Element in einer Map oder ersatzweise die virtuellen Nachbarn suchen. | |
Ein Element in einer Map und seine virtuellen Nachbarn suchen. | |
— | |
— | |
— | |
— | |
— | |
Den Nachfolger in einer Map zu einem gegebenen Schlüssel finden. | |
Den Vorgänger in einer Map zu einem gegebenen Schlüssel finden. | |
— | |
Die Anzahl der Elemente einer Map bestimmen. | |
— | |
Operationen mit Mengen, bei denen Elemente Werte besitzen. | |
— | |
— | |
— | |
— | |
Operationen mit Mengen, bei denen Elemente Werte besitzen. |