X++ runtime-functies voor containers

Notitie

Belangengroepen uit de gemeenschap zijn nu overgestapt van Yammer naar Microsoft Viva Engage. Om lid te worden van een Viva Engage community en deel te nemen aan de laatste discussies, vul je het formulier Request access to Finance and Operations Viva Engage Community in en kies de community waar je lid van wilt worden.

Dit artikel beschrijft de containerruntime-functies.

Deze functies manipuleren de inhoud van containers.

conDel

Hiermee verwijdert u het opgegeven aantal elementen uit een container.

Syntaxis

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

Parameters

Parameter Beschrijving
container De container om elementen uit te verwijderen.
beginnen De op één gebaseerde positie waarop u moet beginnen met het verwijderen van elementen.
getal Het aantal elementen dat moet worden verwijderd.

Retourwaarde

Een nieuwe container die de verwijderde elementen niet bevat.

Voorbeeld

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);
}

conZoeken

Lokaliseert de eerste keer dat een element in een container voorkomt.

Syntaxis

int conFind(container container, anytype element)

Parameters

Parameter Beschrijving
container De container om te zoeken.
element Het element om naar te zoeken.

Retourwaarde

0 als het voorwerp niet werd gevonden; anders het volgnummer van het item.

Voorbeeld

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);
}

Nadelen

Hiermee worden een of meer elementen in een container geplaatst.

Syntaxis

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

Parameters

Parameter Beschrijving
container De container om elementen in te plaatsen.
beginnen De positie om elementen in te voegen.
element Een of meer elementen om in te voegen, gescheiden door komma's.

Retourwaarde

Een nieuwe container die de ingevoegde elementen bevat.

Opmerkingen

Het eerste element van de container wordt aangeduid met het cijfer 1. Om na het element n in te voegen, moet de startparameter n+1 zijn. U kunt de += operator ook gebruiken om waarden van elk type aan een container toe te voegen. Als u bijvoorbeeld een container wilt maken die de gekwadrateerde waarden van de eerste 10 herhalingen 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;
}

Voorbeeld

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)

Parameters

Parameter Beschrijving
container De container om het aantal elementen in te tellen.

Retourwaarde

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

Voorbeeld

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

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

conNull

Haalt een lege container op.

container conNull()

Retourwaarde

Een lege container.

Voorbeeld

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));
}

Bekijken

Hiermee haalt u een specifiek element op uit een container en converteert dit naar een ander gegevenstype, indien conversie is vereist.

Syntaxis

anytype conPeek(container container, int number)

Parameters

Parameter Beschrijving
container De container om een element uit te retourneren.
getal De positie van het element om terug te keren. Geef 1 op om het eerste element te krijgen. 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 de getalparameter aangeeft. De conPeek-functie converteert het bekeken artikel automatisch naar het verwachte retourtype. Strings kunnen automatisch gehele getallen en reële getallen worden, en gehele getallen en reële getallen kunnen worden omgezet in strings.

Voorbeeld

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

Wijzigt een container door een of meer van de bestaande elementen te vervangen.

Syntaxis

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

Parameters

Parameter Beschrijving
container De container om te wijzigen.
beginnen 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 aangeduid met het cijfer 1.

Voorbeeld

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);
}