-USING: make sequences sequences.extras tools.test ;
+USING: kernel make math sequences sequences.extras tools.test ;
IN: sequences.extras.tests
[ "abc" " " ] [ "abc" "" CHAR: \s pad-longest ] unit-test
[ "abc..." "foobar" ] [ "abc" "foobar" CHAR: . pad-longest ] unit-test
+[ { 0 1 0 1 } ] [
+ { 0 0 0 0 } { 1 3 } over [ 1 + ] change-nths
+] unit-test
: pad-longest ( seq1 seq2 elt -- seq1 seq2 )
[ 2dup max-length ] dip [ pad-tail ] 2curry bi@ ;
+
+: change-nths ( ... indices seq quot: ( ... elt -- ... elt' ) -- ... )
+ [ change-nth ] 2curry each ; inline