- Présentation
- Affectation multiple des tableaux
- Syntaxe
- Tableau de valeurs
- Exemples
- Affectation multiple des tableaux associatifs
- Syntaxe
- Exemple
- Affectation multiple des structures et classes
- Syntaxe
- Remarques
- Exemple
- Imbrication
- Césure
Affectation multiple des tableaux, structures et classes
L'affectation multiple des tableaux consiste à pouvoir affecter une série de valeurs de type simple (booléens, entiers, chaînes, réels, numériques, monétaires) aux cases d'un tableau. Cette affectation multiple est également disponible pour les structures et les classes. Affectation multiple des tableaux Syntaxe - Tableau à 1 dimension :
<Tableau à 1 dimension> = [ <Valeur 1>, <Valeur 2>, ...]
- Tableau à 2 dimensions :
<Tableau à 2 dimensions> = [ [ <Valeur 1 1>, <Valeur 1 2>, ...], [ <Valeur 2 1>, <Valeur 2 2>, ...], ... ]
- Tableau à 3 dimensions :
<Tableau à 3 dimensions> = [ [ [ <Valeur 1 1 1>, <Valeur 1 1 2>, ...], [ <Valeur 1 2 1>, <Valeur 1 2 2>, ...], ... ], [ [ <Valeur 2 1 1>, <Valeur 2 1 2>;, ...], [ <Valeur 2 2 1>, <Valeur 2 2 2>, ...], ... ], ... ]
Tableau de valeurs Chaque série de valeurs représente une dimension du tableau de valeurs. Il est possible d'imbriquer des séries de valeurs pour créer un tableau de valeurs à plusieurs dimensions. Les nombres de dimensions du tableau de valeurs doivent être cohérents : chaque dimension doit avoir le même nombre de sous-dimensions. Cependant, il est possible d'avoir un nombre d'éléments différent pour chaque dimension. Exemples :
// Tableau de valeurs interdit : // La première valeur de la série possède une sous-dimension // La seconde valeur de la série ne possède pas de sous-dimension [[ <Valeur 1 1>, <Valeur 1 2> ], <Valeur 2> ] // Tableau de valeurs autorisé : // Toutes les valeurs de la série possèdent une sous-dimension // Chaque sous-dimension a un nombre différent d'éléments [[ <Valeur 1 1>, [ <Valeur 2 1>, <Valeur 2 2>, <Valeur 2 3> ], [<Valeur 3 1>, <Valeur 3 2> ]] Les dimensions du tableau de valeurs doivent correspondre aux dimensions du tableau à affecter. Si les dimensions du tableau à affecter sont insuffisantes pour stocker les éléments du tableau de valeurs, le tableau à affecter est automatiquement agrandi. Dans le cas d'un tableau fixe, si les dimensions du tableau à affecter sont insuffisantes pour stocker les éléments du tableau de valeurs, le tableau de valeurs est tronqué. Si les dimensions du tableau à affecter sont plus grandes que celles du tableau de valeurs, les éléments non affectés conservent leurs valeurs précédentes. Exemples // Tableau des puissances de 2 Puissance2 est un tableau de 0 entiers Puissance2 = [1, 2, 4, 8, 16, 32, 64, 128, 256] // Tableau des nombres de jours par mois // Ligne 1 : année non bissextile // Ligne 2 : année bissextile NombreJours est un tableau de 2 par 12 entiers NombreJours = [[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]] Affectation multiple des tableaux associatifs Syntaxe <Tableau associatif> = [ [ <Clé1>, <Valeur1> ], [ <Clé2>, <Valeur2> ], ... ] Le tableau de valeurs ne doit comporter que 2 couples (Clé, Valeur). Chaque couple est affecté au tableau associatif en utilisant l'équivalent de la syntaxe : TableauAssociatif[Clé] = Valeur. Pour un tableau associatif sans doublons : - Si la clé n'existe pas encore, la valeur est ajoutée.
- Si la clé existe déjà, la valeur est modifiée.
Pour un tableau associatif avec doublons, toutes les valeurs sont ajoutées. Exemple // Tableau associatif des acronymes de pays Pays est un tableau associatif de chaînes Pays = [["FR", "France"], ["US", "Etats-Unis"], ["DE", "Allemagne"]] Affectation multiple des structures et classes Syntaxe - Structure :
<Instance structure> = [ <Membre 1>, <Membre 2>, ...]
- Classe :
<Instance Classe> = [ <Membre 1>, <Membre 2>, ...]
Remarques - Les membres sont affectés dans l'ordre de déclaration.
- Dans le cas des classes, les héritages sont ignorés : ce sont les membres de la classe qui sont directement affectés.
- Limitation : cette syntaxe ne fonctionne pas sur les structures et les classes dynamiques.
Exemple Département est une Structure Nom est une chaîne Numéro est un entier Préfecture est une chaîne FIN Allier est un Département = ["Allier", 3, "Moulins"] Il est possible d'utiliser les syntaxes d'affectation multiple sur des tableaux de structures, des instances de structures contenant des tableaux, ...
Département est une Structure Nom est une chaîne Numéro est un entier Préfecture est une chaîne FIN TabDépartement est un tableau de 0 Département TabDépartement = [["Ain", 1, "Bourg-en-Bresse"], ["Aisne", 2, "Laon"], ["Allier", 3, "Moulins"]] TabNomDépartement est un tableau associatif de Département TabNomDépartement = [["Ain", ["Ain", 1, "Bourg-en-Bresse"]], ["Aisne", ["Aisne", 2, "Laon"]], ["Allier", ["Allier", 3, "Moulins"]]] Il est possible de décrire les tableaux de valeurs avec des passages à la ligne sans utiliser la syntaxe de césure (... triple point). La syntaxe de césure est cependant indispensable pour passer à la ligne après le premier crochet ouvrant. Par exemple :
Département est une Structure Nom est une chaîne Numéro est un entier Préfecture est une chaîne FIN Allier est un Département = [... "Allier", 3, "Moulins"] Il est également possible de laisser une virgule avant un crochet fermant : NombreJours = [[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], ]
Documentation également disponible pour…
|
|
|