sequences.extras: Add head-as, head*-as, tail-as, tail*-as.
parent
83712ad87e
commit
563c15e530
|
@ -152,3 +152,9 @@ IN: sequences.extras.tests
|
||||||
|
|
||||||
{ V{ 1 } } [ 1 0 V{ } [ insert-nth! ] keep ] unit-test
|
{ V{ 1 } } [ 1 0 V{ } [ insert-nth! ] keep ] unit-test
|
||||||
{ V{ 1 2 3 4 } } [ 2 1 V{ 1 3 4 } [ insert-nth! ] keep ] unit-test
|
{ V{ 1 2 3 4 } } [ 2 1 V{ 1 3 4 } [ insert-nth! ] keep ] unit-test
|
||||||
|
|
||||||
|
{ "abc" } [ B{ 97 98 99 100 101 102 103 } 3 "" head-as ] unit-test
|
||||||
|
{ "abcd" } [ B{ 97 98 99 100 101 102 103 } 3 "" head*-as ] unit-test
|
||||||
|
{ "defg" } [ B{ 97 98 99 100 101 102 103 } 3 "" tail-as ] unit-test
|
||||||
|
{ "efg" } [ B{ 97 98 99 100 101 102 103 } 3 "" tail*-as ] unit-test
|
||||||
|
|
||||||
|
|
|
@ -230,6 +230,18 @@ PRIVATE>
|
||||||
: contains? ( seq elts -- ? )
|
: contains? ( seq elts -- ? )
|
||||||
[ member? ] curry any? ; inline
|
[ member? ] curry any? ; inline
|
||||||
|
|
||||||
|
: head-as ( seq n exemplar -- seq' )
|
||||||
|
[ head-slice ] [ like ] bi* ; inline
|
||||||
|
|
||||||
|
: head*-as ( seq n exemplar -- seq' )
|
||||||
|
[ head-slice* ] [ like ] bi* ; inline
|
||||||
|
|
||||||
|
: tail-as ( seq n exemplar -- seq' )
|
||||||
|
[ tail-slice ] [ like ] bi* ; inline
|
||||||
|
|
||||||
|
: tail*-as ( seq n exemplar -- seq' )
|
||||||
|
[ tail-slice* ] [ like ] bi* ; inline
|
||||||
|
|
||||||
: trim-as ( ... seq quot: ( ... elt -- ... ? ) exemplar -- ... newseq )
|
: trim-as ( ... seq quot: ( ... elt -- ... ? ) exemplar -- ... newseq )
|
||||||
[ trim-slice ] [ like ] bi* ; inline
|
[ trim-slice ] [ like ] bi* ; inline
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue