diff --git a/extra/sequences/extras/extras-tests.factor b/extra/sequences/extras/extras-tests.factor index 1c9a376ca3..f8e7944460 100644 --- a/extra/sequences/extras/extras-tests.factor +++ b/extra/sequences/extras/extras-tests.factor @@ -74,3 +74,6 @@ IN: sequences.extras.tests { { } } [ { } round-robin ] unit-test { "ADEBFC" } [ { "ABC" "D" "EF" } round-robin >string ] unit-test + +{ { } } [ "ABC" [ ] { } trim-as ] unit-test +{ "ABC" } [ { 32 65 66 67 32 } [ blank? ] "" trim-as ] unit-test diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index f13f99f8cf..7d80437e2c 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -198,3 +198,6 @@ PRIVATE> : contains? ( seq elts -- ? ) [ member? ] curry any? ; inline + +: trim-as ( ... seq quot: ( ... elt -- ... ? ) exemplar -- ... newseq ) + [ trim-slice ] [ like ] bi* ; inline