Funcții runtime container X++

Notă

Grupurile de interes din comunitate s-au mutat acum din Yammer în Microsoft Viva Engage. Pentru a vă alătura unei comunități Viva Engage și a participa la cele mai recente discuții, completați Request acces la Finanțe și Operațiuni Viva Engage Comunitate și alegeți comunitatea la care doriți să vă asociați.

Acest articol descrie funcțiile runtime ale containerului.

Aceste funcții manipulează conținutul containerelor.

ConDel

Elimină numărul specificat de elemente dintr-un container.

Sintaxă

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

Parametri

Parametru Descriere
container Containerul din care se elimină elementele.
porni Poziția uni-bazată pe care se începe eliminarea elementelor.
număr Este numărul de elemente de șters.

Valoare returnată

Un container nou care nu include elementele eliminate.

Exemplu

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

Găsește prima apariție a unui element dintr-un container.

Sintaxă

int conFind(container container, anytype element)

Parametri

Parametru Descriere
container Containerul de căutat.
element Elementul de căutat.

Valoare returnată

0 dacă elementul nu a fost găsit; în caz contrar, numărul secvenței elementului.

Exemplu

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

Inserează unul sau mai multe elemente într-un container.

Sintaxă

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

Parametri

Parametru Descriere
container Containerul în care se inserează elemente.
porni Este poziția de inserare a elementelor la.
element Unul sau mai multe elemente de inserat, separate prin virgulă.

Valoare returnată

Un container nou care conține elementele inserate.

Observații

Primul element al containerului este specificat de numărul 1. Pentru a insera după elementul n, parametrul de pornire trebuie să fie n+1. De asemenea, puteți utiliza += operatorul pentru a adăuga valori de orice tip la un container. De exemplu, pentru a crea un container care conține valorile pătrate ale primelor 10 iterații în buclă, utilizați următorul cod.

int i;
container c;

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

Exemplu

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

Regăsește numărul de elemente dintr-un container.

Sintaxă

int conLen(container container)

Parametri

Parametru Descriere
container Containerul în care se numără numărul de elemente.

Valoare returnată

Numărul de elemente din container. Containerul conNull nu are elemente.

Exemplu

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

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

conNull

Regăsește un container gol.

container conNull()

Valoare returnată

Un container gol.

Exemplu

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

Regăsește un anumit element dintr-un container și îl transformă în alt tip de date, dacă este necesară conversia.

Sintaxă

anytype conPeek(container container, int number)

Parametri

Parametru Descriere
container Containerul de la care se returnează un element.
număr Este poziția elementului de returnat. Specificați 1 pentru a obține primul element. Un număr de poziție nevalid, cum ar fi -3, 0 sau un număr care este mai mare decât lungimea containerului, poate provoca erori imprevizibile.

Valoare returnată

Elementul din container în poziția specificată de parametrul numeric . Funcția ConPeek efectuează automat conversia elementului sumar în tipul returnat așteptat. Șirurile se pot transforma automat în numere întregi și numere reale, iar numerele întregi și numerele reale se pot transforma în șiruri.

Exemplu

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

Modifică un container prin înlocuirea unuia sau a mai multor elemente existente.

Sintaxă

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

Parametri

Parametru Descriere
container Containerul de modificat.
porni Este poziția primului element de înlocuit.
element Unul sau mai multe elemente de înlocuit, separate prin virgulă.

Valoare returnată

Un container nou care include elementele noi.

Observații

Primul element al containerului este specificat de numărul 1.

Exemplu

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