bionic (3) lreplace.3tcl.gz

Provided by: tcl8.5-doc_8.5.19-4_all bug

NAME

       lreplace - Replace elements in a list with new elements

SYNOPSIS

       lreplace list first last ?element element ...?
________________________________________________________________________________________________________________

DESCRIPTION

       lreplace  returns a new list formed by replacing one or more elements of list with the element arguments. │
       first and last are index values specifying the first and last elements of  the  range  to  replace.   The │
       index  values  first  and  last  are  interpreted  the same as index values for the command string index, │
       supporting simple index arithmetic and indices relative to the end of the list.  0 refers  to  the  first │
       element  of  the  list, and end refers to the last element of the list.  If list is empty, then first and │
       last are ignored.

       If first is less than zero, it is considered to refer to before the first element of the list.  For  non-
       empty  lists,  the  element  indicated by first must exist or first must indicate before the start of the
       list.

       If last is less than first, then any specified elements will be inserted  into  the  list  at  the  point
       specified by first with no elements being deleted.

       The  element  arguments specify zero or more new arguments to be added to the list in place of those that
       were deleted.  Each element argument will become a separate element of the list.  If no element arguments
       are  specified,  then  the  elements  between  first  and last are simply deleted.  If list is empty, any
       element arguments are added to the end of the list.

EXAMPLES

       Replacing an element of a list with another:
              % lreplace {a b c d e} 1 1 foo
              a foo c d e

       Replacing two elements of a list with three:
              % lreplace {a b c d e} 1 2 three more elements
              a three more elements d e

       Deleting the last element from a list in a variable:
              % set var {a b c d e}
              a b c d e
              % set var [lreplace $var end end]
              a b c d

       A procedure to delete a given element from a list:
              proc lremove {listVariable value} {
                  upvar 1 $listVariable var
                  set idx [lsearch -exact $var $value]
                  set var [lreplace $var $idx $idx]
              }

SEE ALSO

       list(3tcl),  lappend(3tcl),  lindex(3tcl),  linsert(3tcl),  llength(3tcl),   lsearch(3tcl),   lset(3tcl),
       lrange(3tcl), lsort(3tcl), string(3tcl)                                                                   │

KEYWORDS

       element, list, replace