split1-when ( ... seq quot: ( ... elt -- ... ? ) -- ... before after )
Factor handbook » The language » Collections » Sequence operations » Splitting sequences

Prev:split1-slice ( seq subseq -- before-slice after-slice )
Next:split1-when-slice ( ... seq quot: ( ... elt -- ... ? ) -- ... before-slice after-slice )


Vocabulary
splitting

Inputs
seqa sequence
quota quotation with stack effect ( ... elt -- ... ? )


Outputs
beforea new sequence
aftera new sequence


Word description
Splits seq at the first occurrence of an element for which quot gives a true output and outputs the pieces before and after the split.

Definition


: split1-when
( ... seq quot: ( ... elt -- ... ? ) -- ... before after )
[ find drop ] keepd swap [ dup 1 + rot snip ] [ f ] if* ;
inline