Förstå Delphi SET Type

En av Delphis språkfunktioner som inte finns på andra moderna språk är uppfattningen om uppsättningar.

Delphis uppsättningstyp är en samling värden av samma ordinära typ.

En uppsättning definieras med hjälp av uppsättning av nyckelord:

Ställtyper definieras vanligtvis med subranges.

I exemplet ovan är TMagicNumber en anpassad subrange-typ som gör att variabler av typen TMagicNumber kan ta emot värden från 1 till 34. Enkelt uttryckt representerar en subrange-typ en delmängd av värdena i en annan ordinär typ.

Möjliga värden för den inställda typen är alla delmängder av bastypen, inklusive den tomma uppsättningen.

En begränsning för uppsättningar är att de kan rymma upp till 255 element.

I exemplet ovan är TMagicSet-inställningstypen en uppsättning av TMagicNumber-element - heltal från 1 till 34.

Förklaringen TMagicSet = uppsättning av TMagicNumber är lika med följande deklaration: TMagicSet = uppsättning av 1 ... 34.

Ange typvariabler

I exemplet ovan variablerna emptyMagicSet, oneMagicSet och anotherMagicSet är uppsättningar av TMagicNumber.

Till tilldela ett värde till en variabel av typen, använd fyrkantiga parenteser och list upp alla element i uppsättningen. Som i:

Anmärkning 1: varje variabel av typen av typ kan innehålla den tomma uppsättningen, betecknad med [].

Not 2: ordningen för elementen i en uppsättning har ingen mening, och det är inte heller meningsfullt att ett element (värde) inkluderas två gånger i en uppsättning.

IN-nyckelordet

För att testa om ett element ingår i uppsättningen (variabel) använder du I nyckelord:

Ställ in operatörer

På samma sätt som du kan summera två siffror, kan du ha en uppsättning som är summan av två uppsättningar. Med uppsättningar har ditt evenemang fler operatörer: