fill (ANSI and GNU Common Lisp Document)

Next: make-sequence, Previous: elt, Up: Sequences Dictionary

#### 17.3.4 fill [Function]

`fill` sequence item &key start end ⇒ sequence

#### Arguments and Values::

sequence—a proper sequence.

item—a sequence.

start, end—bounding index designators of sequence. The defaults for start and end are `0` and nil, respectively.

#### Description::

Replaces the elements of sequence bounded by start and end with item.

#### Examples::

     (fill (list 0 1 2 3 4 5) '(444)) ⇒  ((444) (444) (444) (444) (444) (444))
     (fill (copy-seq "01234") #\e :start 3) ⇒  "012ee"
     (setq x (vector 'a 'b 'c 'd 'e)) ⇒  #(A B C D E)
     (fill x 'z :start 1 :end 3) ⇒  #(A Z Z D E)
     x ⇒  #(A Z Z D E)
     (fill x 'p) ⇒  #(P P P P P)
     x ⇒  #(P P P P P)

#### Side Effects::

Sequence is destructively modified.

#### Exceptional Situations::

Should be prepared to signal an error of type type-error if sequence is not a proper sequence. Should signal an error of type type-error if start is not a non-negative integer. Should signal an error of type type-error if end is not a non-negative integer or nil.

#### See Also::

replace , nsubstitute

#### Notes::

`(fill sequence item) ≡ (nsubstitute-if item (constantly t) sequence)`