Mathematik:
Delphi-Quellcode:
x in A // EIN Wert ist in A drin
A * [x] <> [] // EIN Wert ist in A drin
A * [x] = [x] // NUR dieser Wert ist in A drin (wie IN)
A = B // beides sind gleich
A * B = B // alles von B ist in A drin
A * B = [] // nichts von B ist in A drin
A * B <> [] // irgendwas von B ist in A drin
A - B <> [] // nichts außer etwas von B in A drin
Die Vergleichsoperatoren sind etwas gewöhnungsbedürftig, aber zumindestens funktionieren sie richtig, wenn sie funktionieren.
Delphi-Quellcode:
setA := [a, b, c];
setB := [d];
if setA <= setB then
setB ist ordinal und binär größer, aber der Vergleich stimmt, also es ist False.
if setA <= setB then
entspricht
if not (setA > setB) then
, aber < und > gibt es nicht. ([DCC Fehler] E2008 Inkompatible Typen - im XE)
Nur warum < und > nicht gehen, erschließt sich mir nicht, denn "ist Teilmenge und/aber nicht gleich" gibt es doch wohl.