Package: split-sequence

Function split-sequence-if

Lambda List

split-sequence-if (predicate sequence &key start end from-end count remove-empty-subseqs key)

Arguments

predicate -- a designator for a function of one argument that returns a generalized boolean.
sequence -- a proper sequence.
start, end -- bounding index designators of sequence. The defaults for start and end are 0 and nil, respectively.
from-end -- a generalized boolean. The default is false.
count -- an integer or nil. The default is nil.
remove-empty-subseqs -- a generalized boolean. The default is false.
test -- a designator for a function of two arguments that returns a generalized boolean.
test-not -- a designator for a function of two arguments that returns a generalized boolean.
key -- a designator for a function of one argument, or nil.

Return Value

Returns a proper list list and an index into the sequence.

Details

Return a list of subsequences in sequence delimited by items satisfying predicate.

If :remove-empty-subseqs is nil, empty subsequences will be included in the result; otherwise they will be discarded. All other keywords work analogously to those for substitute-if. In particular, the behaviour of :from-end is possibly different from other versions of this function; :from-end values of nil and t are equivalent unless :count is supplied. The second return value is an index suitable as an argument to subseq into the sequence indicating where processing stopped.
 

See also

2012-12-29