User Tools


Function FILL

Syntax

  • fill sequence item &key start endsequence

Arguments and Values

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"

(defvar *x* (vector 'a 'b 'c 'd 'e))

*X*

*x*

#(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.

Affected By

None.

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

Notes

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

\issue{SUBSEQ-OUT-OF-BOUNDS} \issue{RANGE-OF-START-AND-END-PARAMETERS:INTEGER-AND-INTEGER-NIL}