Delen via


X++-runtimefuncties container

Opmerking

Community-belangengroepen zijn nu verplaatst van Yammer naar Microsoft Viva Engage. Als u wilt deelnemen aan een Viva Engage-community en deel wilt nemen aan de meest recente discussies, vult u het formulier Toegang aanvragen tot Finance and Operations Viva Engage Community in en kiest u de community waaraan u wilt deelnemen.

In dit artikel worden de runtimefuncties van de container beschreven.

Met deze functies wordt de inhoud van containers bewerkt.

conDel

Hiermee verwijdert u het opgegeven aantal elementen uit een container.

Syntaxis

container conDel(container container, int start, int number)

Parameterwaarden

Kenmerk Description
container De container waaruit elementen moeten worden verwijderd.
start De op één gebaseerde positie waarop u elementen wilt verwijderen.
nummer Het aantal elementen dat moet worden verwijderd.

Retourwaarde

Een nieuwe container die de verwijderde elementen niet bevat.

Example

static void conDelExample(Args _args)
{
    container c = ["Hello world", 1, 3.14];
    
    // Deletes the first two items from the container.
    c = conDel(c, 1, 2);
}

conFind

Hiermee wordt het eerste exemplaar van een element in een container gevonden.

Syntaxis

int conFind(container container, anytype element)

Parameterwaarden

Kenmerk Description
container De container die moet worden gezocht.
element Het element dat moet worden gezocht.

Retourwaarde

0 als het item niet is gevonden; anders is het volgnummer van het item.

Example

static void conFindExample(Args _args)
{
    container c = ["item1", "item2", "item3"];
    int i = conFind(c, "item2");
    int j = conFind(c, "item4");

    print "Position of 'item2' in container is " + int2Str(i);
    print "Position of 'item4' in container is " + int2Str(j);
}

conIns

Hiermee voegt u een of meer elementen in een container in.

Syntaxis

container conIns(container container, int start, anytype element, ... )

Parameterwaarden

Kenmerk Description
container De container waaraan elementen moeten worden ingevoegd.
start De positie om elementen in te voegen.
element Een of meer elementen die moeten worden ingevoegd, gescheiden door komma's.

Retourwaarde

Een nieuwe container die de ingevoegde elementen bevat.

Opmerkingen

Het eerste element van de container wordt opgegeven door het getal 1. Als u na het n-element wilt invoegen, moet de beginparameter n+1 zijn. U kunt de += operator ook gebruiken om waarden van elk type toe te voegen aan een container. Als u bijvoorbeeld een container wilt maken die de kwadratische waarden van de eerste 10 lusiteraties bevat, gebruikt u de volgende code.

int i;
container c;

for (i = 1; i < = 10; i++)
{
    // Append the square of the index to the container
    c += i*i;
}

Example

static void conInsExample(Args _arg)
{
    container c;
    int i;

    c = conIns(c,1,"item1");
    c = conIns(c,2,"item2");

    for (i = 1 ; i <= conLen(c) ; i++)
    {
        // Prints the content of a container.
        print conPeek(c, i);
    }
}

conLen

Hiermee haalt u het aantal elementen in een container op.

Syntaxis

int conLen(container container)

Parameterwaarden

Kenmerk Description
container De container waarin het aantal elementen moet worden geteld.

Retourwaarde

Het aantal elementen in de container. De conNull-container heeft geen elementen.

Example

static void conLenExample(Args _arg)
{
    container c = conins(["item1", "item2"], 1);

    for (int i = 1 ; i <= conLen(c) ; i++)
    {
        print conPeek(c, i);
    }
}

conNull

Hiermee wordt een lege container opgehaald.

container conNull()

Retourwaarde

Een lege container.

Example

static void conNullExample(Args _arg)
{
    container c = ["item1", "item2", "item3"];

    print "The size of container is " + int2str(conLen(c));

    // Set the container to null.
    c = conNull();
    print "Size of container after conNull() is " + int2Str(conLen(c));
}

conPeek

Haalt een specifiek element op uit een container en converteert dit naar een ander gegevenstype, als conversie is vereist.

Syntaxis

anytype conPeek(container container, int number)

Parameterwaarden

Kenmerk Description
container De container waaruit een element moet worden geretourneerd.
nummer De positie van het element dat moet worden geretourneerd. Geef 1 op om het eerste element op te halen. Een ongeldig positienummer, zoals -3, 0 of een getal dat hoger is dan de lengte van de container, kan onvoorspelbare fouten veroorzaken.

Retourwaarde

Het element in de container op de positie die is opgegeven door de getalparameter . Met de functie conPeek wordt het bekeken item automatisch geconverteerd naar het verwachte retourtype. Tekenreeksen kunnen automatisch worden geconverteerd naar gehele getallen en reële getallen, en gehele getallen en reële getallen kunnen worden geconverteerd naar tekenreeksen.

Example

static void main(Args _args)
{
    container cnI, cnJ;
    int i, j;
    anytype aty;
    
    info("container cnI ...");
    cnI = ["itemBlue", "itemYellow"];

    for (i=1; i <= conLen(cnI); i++)
    {
        aty = conPeek(cnI, i);
        info(int2str(i) + " :  " + aty);
    }

    info("container cnJ ...");
    cnJ = conIns(cnI, 2, "ItemInserted");

    for (j=1; j <= conLen(cnJ); j++)
    {
        aty = conPeek(cnJ, j);
        info(int2str(j) + " :  " + aty);
    }
}
/***  Output pasted from InfoLog ...
Message (10:20:03 am)
container cnI ...
1 :  itemBlue
2 :  itemYellow
container cnJ ...
1 :  itemBlue
2 :  ItemInserted
3 :  itemYellow
***/

conPoke

Hiermee wijzigt u een container door een of meer van de bestaande elementen te vervangen.

Syntaxis

container conPoke(container container, int start, anytype element, ...)

Parameterwaarden

Kenmerk Description
container De container die moet worden gewijzigd.
start De positie van het eerste element dat moet worden vervangen.
element Een of meer elementen die moeten worden vervangen, gescheiden door komma's.

Retourwaarde

Een nieuwe container met de nieuwe elementen.

Opmerkingen

Het eerste element van de container wordt opgegeven door het getal 1.

Example

static void conPokeExample(Args _arg)
{
    container c1 = ["item1", "item2", "item3"];
    container c2;
    int i;

    void conPrint(container c)
    {
        for (i = 1 ; i <= conLen(c) ; i++)
        {
            print conPeek(c, i);
        }
    }

    conPrint(c1);
    c2 = conPoke(c1, 2, "PokedItem");
    print "";
    conPrint(c2);
}