sequences.extras: adding map-filter.
parent
61b3c26e1b
commit
9bc6e29506
|
@ -59,3 +59,7 @@ IN: sequences.extras.tests
|
|||
{ V{ 0 0 1 0 1 2 } } [ 4 iota [ iota ] map-concat ] unit-test
|
||||
{ "abc" } [ "abc" [ 1string ] map-concat ] unit-test
|
||||
{ { 97 98 99 } } [ "abc" [ 1string ] { } map-concat-as ] unit-test
|
||||
|
||||
{ { } } [ { } [ ] [ even? ] map-filter ] unit-test
|
||||
{ "bcde" } [ "abcd" [ 1 + ] [ drop t ] map-filter ] unit-test
|
||||
{ { 0 4 16 36 64 } } [ 10 iota [ sq ] [ even? ] { } map-filter-as ] unit-test
|
||||
|
|
|
@ -127,3 +127,9 @@ IN: sequences.extras
|
|||
|
||||
: map-concat ( ... seq quot: ( ... elt -- ... newelt ) -- ... newseq )
|
||||
over map-concat-as ; inline
|
||||
|
||||
: map-filter-as ( ... seq quot: ( ... elt -- ... newelt ) quot: ( ... newelt -- ... ? ) exemplar -- ... subseq )
|
||||
dup [ selector-for [ compose each ] dip ] curry dip like ; inline
|
||||
|
||||
: map-filter ( ... seq quot: ( ... elt -- ... newelt ) quot: ( ... newelt -- ... ? ) -- ... subseq )
|
||||
pick map-filter-as ; inline
|
||||
|
|
Loading…
Reference in New Issue