Partager via


Fonctions d’exécution de conteneur X++

Note

Les groupes d’intérêt communautaire sont maintenant passés de Yammer à Microsoft Viva Engage. Pour participer à une communauté Viva Engage et participer aux dernières discussions, renseignez le formulaire Demander l’accès à la communauté Finance et Operations Viva Engage , puis choisissez la communauté que vous souhaitez rejoindre.

Cet article décrit les fonctions d’exécution du conteneur.

Ces fonctions manipulent le contenu des conteneurs.

conDel

Supprime le nombre spécifié d’éléments d’un conteneur.

Syntaxe

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

Paramètres

Paramètre Descriptif
container Conteneur à partir duquel supprimer des éléments.
start Position unique à partir de laquelle commencer à supprimer des éléments.
nombre Nombre d’éléments à supprimer.

Valeur retournée

Nouveau conteneur qui n’inclut pas les éléments supprimés.

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

Recherche la première occurrence d’un élément dans un conteneur.

Syntaxe

int conFind(container container, anytype element)

Paramètres

Paramètre Descriptif
container Conteneur à rechercher.
element Élément à rechercher.

Valeur retournée

0 si l’élément n’a pas été trouvé ; sinon, numéro de séquence de l’élément.

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

Insère un ou plusieurs éléments dans un conteneur.

Syntaxe

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

Paramètres

Paramètre Descriptif
container Conteneur dans lequel insérer des éléments.
start Position à laquelle insérer des éléments.
element Un ou plusieurs éléments à insérer, séparés par des virgules.

Valeur retournée

Nouveau conteneur qui contient les éléments insérés.

Remarques

Le premier élément du conteneur est spécifié par le nombre 1. Pour insérer après l’élément n, le paramètre de début doit être n+1. Vous pouvez également utiliser l’opérateur += pour ajouter des valeurs de n’importe quel type à un conteneur. Par exemple, pour créer un conteneur qui contient les valeurs carrées des 10 premières itérations de boucle, utilisez le code suivant.

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

Récupère le nombre d’éléments d’un conteneur.

Syntaxe

int conLen(container container)

Paramètres

Paramètre Descriptif
container Conteneur dans lequel compter le nombre d’éléments.

Valeur retournée

Nombre d’éléments dans le conteneur. Le conteneur conNull n’a aucun élément.

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

Récupère un conteneur vide.

container conNull()

Valeur retournée

Conteneur vide.

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

Récupère un élément spécifique d’un conteneur et le convertit en un autre type de données, si la conversion est nécessaire.

Syntaxe

anytype conPeek(container container, int number)

Paramètres

Paramètre Descriptif
container Conteneur à partir duquel retourner un élément.
nombre Position de l’élément à retourner. Spécifiez 1 pour obtenir le premier élément. Un numéro de position non valide, tel que -3, 0 ou un nombre supérieur à la longueur du conteneur, peut entraîner des erreurs imprévisibles.

Valeur retournée

Élément du conteneur à la position spécifiée par le paramètre number . La fonction conPeek convertit automatiquement l’élément peek en type de retour attendu. Les chaînes peuvent automatiquement être converties en entiers et en nombres réels, et les nombres réels et les nombres réels peuvent être convertis en chaînes.

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

Modifie un conteneur en remplaçant un ou plusieurs des éléments existants.

Syntaxe

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

Paramètres

Paramètre Descriptif
container Conteneur à modifier.
start Position du premier élément à remplacer.
element Un ou plusieurs éléments à remplacer, séparés par des virgules.

Valeur retournée

Nouveau conteneur qui inclut les nouveaux éléments.

Remarques

Le premier élément du conteneur est spécifié par le nombre 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);
}