sequences.extras: implement "insert-nth!".
parent
896d75e305
commit
8e137839db
|
@ -149,3 +149,6 @@ IN: sequences.extras.tests
|
|||
|
||||
{ "" } [ { } "" reverse-as ] unit-test
|
||||
{ "ABC" } [ { 67 66 65 } "" reverse-as ] 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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: accessors arrays assocs fry grouping kernel locals make
|
||||
math math.order math.ranges sequences sequences.private
|
||||
splitting ;
|
||||
USING: accessors arrays assocs fry grouping growable kernel
|
||||
locals make math math.order math.ranges sequences
|
||||
sequences.private splitting ;
|
||||
FROM: sequences => change-nth ;
|
||||
IN: sequences.extras
|
||||
|
||||
|
@ -339,3 +339,8 @@ PRIVATE>
|
|||
|
||||
: map-product ( ... seq quot: ( ... elt -- ... n ) -- ... n )
|
||||
[ 1 ] 2dip [ dip * ] curry [ swap ] prepose each ; inline
|
||||
|
||||
: insert-nth! ( elt n seq -- )
|
||||
[ length ] keep ensure swap pick (a,b]
|
||||
over '[ [ 1 + ] keep _ move-unsafe ] each
|
||||
set-nth-unsafe ;
|
||||
|
|
Loading…
Reference in New Issue