lreplace(3tcl)



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




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business