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
specify the first and last index of the range of elements to replace. 0 refers
to the first element of the list, and
end (or any abbreviation of it)
may be used to refer 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 the first
element of the list. For non-empty lists, the element indicated by
first must exist.
If
last is less than zero but greater than
first, then any
specified elements will be prepended to the list. If
last is less than
first then no elements are deleted; the new elements are simply
inserted before
first.
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
SEE ALSO¶
list(3tcl), lappend(3tcl), lindex(3tcl), linsert(3tcl), llength(3tcl),
lsearch(3tcl), lset(3tcl), lrange(3tcl), lsort(3tcl)
KEYWORDS¶
element, list, replace