Difference between revisions of "Category:LSL List/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Prepared for translation by Catherine Pfeffer)
 
m (categorized category)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Multi-lang}}
{{LSL Header/fr|ml=*}}{{LSLC/fr|}}{{LSLC/fr|Types}}
{{LSL Header}}


A list is a special kind of data type which can contain zero or more elements of any other data type.
Une liste est un type de donnée spécial qui peut contenir zéro ou plus éléments de n'importe quel autre type de données.
Lists are signified by square brackets surrounding their elements, which are separated by commas.


List examples:
Les listes sont notées au moyen de crochets encadrant leurs éléments, lesquels sont séparés par des virgules.
<pre>[0,1,2,3,4], ["Yes","No","Perhaps"], [1,14.154,"Isn't this fun?",<0,0,0>]</pre>


A list can grow dynamically as large as needed during execution, and is only limited by the amount of memory that script has available.  However, there is a 72 element limit to lists defined at compile time.
Exemples de listes :
<lsl>[0, 1, 2, 3, 4]
["Oui", "Non", "Peut-être"]</lsl>


Lists cannot be nested.
(Nota bene : pour les habitués d'autres langages de programmation, il n'y a pas de tableaux 'ARRAY' en LSL, seulement des listes 'LIST')


It is important to note that indexing starts at 0, not 1.
'''Types de données variés'''


To access the individual elements use the llList2<type> functions.
Il n'est pas obligatoire que tous les éléments d'une liste soient du même type. Dans une même liste, vous pouvez stocker des chaînes de caractères (string), des entiers (integer), des nombres à virgule (float), des vecteurs (vector), etc.
 
Exemple: //une liste avec un entier, un nombre à virgule, une chaîne de caractères et un vecteur.
<lsl>[1,14.154,"C'est sympa non ?",<0,0,0>]</lsl>
Par contre, une liste ne peut contenir une autre liste (vous ne pouvez pas imbriquer des listes).
<lsl>[1, "un", 2, "deux"] + [3, "trois"] renvoie [1, "un", 2, "deux", 3, "trois"]</lsl>
et non pas :
<lsl>[1, "un", 2, "deux", [3, "trois"]]</lsl>
 
Quand vous ajoutez un élément à une liste, celle-ci mémorise automatiquement quel est le type de donnée de la valeur ajoutée.
 
Habituellement, étant celui (ou celle) qui ajoute des éléments à une liste, vous savez le type de chaque élément la constituant.
Vous pouvez récupérer un élément avec la fonction appropriée llList2<type> telle que : [[llList2String/fr|llList2String]], [[llList2Vector/fr|llList2Vector]], etc. (plus de détails plus loin dans cet article.)
 
Si besoin, pour retrouver le type de donnée d'un élément d'une liste, vous pouvez utiliser la fonction [[llGetListEntryType/fr|llGetListEntryType]].
 
Astuce ! Pour ajouter un nombre à virgule ([[float/fr|float]]) dans une une liste, utilisez toujours le séparateur décimal . (1.0 et non pas 1) pour vous assurer qu'il sera bien enregistré comme nombre à virgule et non pas comme entier.
 
Une liste peut être directement transposée en chaîne de caractères (notion de cast)
<lsl>default
{
    touch_start(integer total_number)
    { 
        list a = ["abc",1,2,3.14,<0,0,0>];
        llOwnerSay((string)a); // renvoie :  abc123.140000<0.000000, 0.000000, 0.000000>
    }
}</lsl>
 
 
(A suivre ...)
 
Une liste peut grandir dynamiquement autant que l'on le souhaite au cours de l'exécution, dans la limite de la mémoire disponible du script. Néanmoins, il y a une limite de 72 éléments aux listes définies au moment de la compilation.
 
Il est important de remarquer que la numérotation des éléments de la liste démarre à 0, pas à 1.

Latest revision as of 06:45, 19 April 2009

Une liste est un type de donnée spécial qui peut contenir zéro ou plus éléments de n'importe quel autre type de données.

Les listes sont notées au moyen de crochets encadrant leurs éléments, lesquels sont séparés par des virgules.

Exemples de listes : <lsl>[0, 1, 2, 3, 4] ["Oui", "Non", "Peut-être"]</lsl>

(Nota bene : pour les habitués d'autres langages de programmation, il n'y a pas de tableaux 'ARRAY' en LSL, seulement des listes 'LIST')

Types de données variés

Il n'est pas obligatoire que tous les éléments d'une liste soient du même type. Dans une même liste, vous pouvez stocker des chaînes de caractères (string), des entiers (integer), des nombres à virgule (float), des vecteurs (vector), etc.

Exemple: //une liste avec un entier, un nombre à virgule, une chaîne de caractères et un vecteur. <lsl>[1,14.154,"C'est sympa non ?",<0,0,0>]</lsl> Par contre, une liste ne peut contenir une autre liste (vous ne pouvez pas imbriquer des listes). <lsl>[1, "un", 2, "deux"] + [3, "trois"] renvoie [1, "un", 2, "deux", 3, "trois"]</lsl> et non pas : <lsl>[1, "un", 2, "deux", [3, "trois"]]</lsl>

Quand vous ajoutez un élément à une liste, celle-ci mémorise automatiquement quel est le type de donnée de la valeur ajoutée.

Habituellement, étant celui (ou celle) qui ajoute des éléments à une liste, vous savez le type de chaque élément la constituant. Vous pouvez récupérer un élément avec la fonction appropriée llList2<type> telle que : llList2String, llList2Vector, etc. (plus de détails plus loin dans cet article.)

Si besoin, pour retrouver le type de donnée d'un élément d'une liste, vous pouvez utiliser la fonction llGetListEntryType.

Astuce ! Pour ajouter un nombre à virgule (float) dans une une liste, utilisez toujours le séparateur décimal . (1.0 et non pas 1) pour vous assurer qu'il sera bien enregistré comme nombre à virgule et non pas comme entier.

Une liste peut être directement transposée en chaîne de caractères (notion de cast) <lsl>default {

   touch_start(integer total_number)
   {   
       list a = ["abc",1,2,3.14,<0,0,0>];
       llOwnerSay((string)a); // renvoie :  abc123.140000<0.000000, 0.000000, 0.000000>
   }

}</lsl>


(A suivre ...)

Une liste peut grandir dynamiquement autant que l'on le souhaite au cours de l'exécution, dans la limite de la mémoire disponible du script. Néanmoins, il y a une limite de 72 éléments aux listes définies au moment de la compilation.

Il est important de remarquer que la numérotation des éléments de la liste démarre à 0, pas à 1.