< LlListReplaceList(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
ListReplaceList
llListReplaceList
Description
Fonction: list llListReplaceList( list dest, list src, integer début, integer fin );
Renvoie un list correspondant au list dest dont les éléments compris entre les indices début et fin ont été supprimés et remplacés par src à partir de l’index début.
• list
|
dest
|
|
|
|
• list
|
src
|
|
|
|
• integer
|
début
|
–
|
début index
|
|
• integer
|
fin
|
–
|
fin index
|
|
Spécifications
Index
|
Positif
|
Négatif
|
Premier
|
0
|
- longueur
|
Dernier
|
longueur - 1
|
-1
|
Pour commencer, traduisez mentalement n'importe quel index négatif en index positif.
- Si début <= fin alors l'intervalle débute à début et finit à fin. [début, fin]
- Si début > fin alors l'intevalle débute à 0 et va jusqu'à fin, puis recommence à nouveau à début et va jusqu'à -1. [0, fin] + [début, -1]
|
Les index positifs qui dépassent la longueur (après le dernier index) ou les index négatifs avant le début de la liste (avant le premier index) sont valides. Les effets sont prévisibles, les éléments sont traités comme s'ils étaient présents mais avaient été retirés avant de renvoyer le résulat.
Regardez index négatifs pour plus d'informations.
Si début est aprés le dernier élément de dest, alors src est accollé à dest, aucun élément vide ne sera ajouté. Pour éviter ce phénomène, ajoutez des éléments vides à la fin du list. Un probléme similaire se produit en utilisant des indexs négatifs.
Avertissements
- L’appel à la fonction ne suffit, le résultat doit être stocké !
• mauvais:
|
llListReplaceList(a, ["c"], 2, 2)
|
|
|
|
• bien:
|
a = llListReplaceList(a, ["c"], 2, 2)
|
|
|
|
Exemples
default
{
state_entry()
{
list a = ["a", "b", "e", "d"];
list b = llListReplaceList(a, ["c"], 2, 2);
//remplace les éléments entre 2 et 2 par ["c"] et stocke le résultat dans le list b
llOwnerSay("\""+llList2CSV(a) + ""\"" -> "\""" + llList2CSV(b)+"\"");//affiche le résultat
//Dira : "a, b, e, d" -> "a, b, c, d"
}
}
Vous cherchez encore des informations ? Peut-être
cette page du LSLwiki pourra vous renseigner.