====== lreplace ====== Remplace les éléments d'une liste avec de nouveaux éléments ===== Syntaxe ===== lreplace list first last ?element element ...? ===== Description ===== **lreplace** retourne une nouvelle liste formée en remplaçant un ou plusieurs éléments de //list// avec les arguments //element//. //first// et //last// spécifient le premier et dernier index de l'intervalle d'éléments à remplacer. 0 se réfère au premier élément de la liste, et //end// (ou toutes ses abréviations) peut être employé pour se référer au dernier élément de la liste. Si //list// est vide, alors //first// et //last// sont ignorés. Si //first// est inférieur à zéro, il est considéré se référer au premier élément de la liste. Pour les listes non-vides, l'élément indiqué par //first// doit exister. Si //last// est inférieur à zéro mais supérieur à //first//, alors tout élément spécifié sera ajouté à la liste. Si //last// est inférieur à //first// alors aucun éléments ne sont effacés; les nouveaux éléments sont simplement insérés avant //first//. Les arguments //element// spécifient zéro ou plusieurs nouveaux arguments à ajouter à la liste à la place de ceux qui ont été effacés. Chaque argument //element// deviendra un élément séparé de la liste. Si aucun argument //element// n'est spécifié, alors les éléments entre //first// et //last// sont simplement effacés. Si //list// est vide, tous les arguments //element// sont ajoutés à fin de la liste. ===== Exemples ===== Il n'existe pas de fonction [[:tcl:lremove]], mais elle peut être créée simplement: proc ::lremove {datas needle} { return [lsearch -all -inline -not -exact $datas $needle] } Utilisation: % set mylist {{A B C} {D E F} {G H I} {J K} L} % lremove $mylist L {A B C} {D E F} {G H I} {J K} % lremove $mylist {D E F} {A B C} {G H I} {J K} L ===== Voir aussi ===== [[:tcl:list]] {{tag>tcl Listes}}