]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences.extras: adding change-nths word.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 15 Apr 2012 17:34:23 +0000 (10:34 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 15 Apr 2012 17:34:23 +0000 (10:34 -0700)
extra/sequences/extras/extras-tests.factor
extra/sequences/extras/extras.factor

index 8a1b9a1c989d441b70a0316c1b0c8c5e3f672b5a..61f40d7378372e2b184bf11c7ff7039d5d27ad33 100644 (file)
@@ -1,4 +1,4 @@
-USING: make sequences sequences.extras tools.test ;
+USING: kernel make math sequences sequences.extras tools.test ;
 
 IN: sequences.extras.tests
 
@@ -28,3 +28,6 @@ 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
index 200a82f8f80381407cdffa2507c0ad46908f8fd7..5189738fb78a54a9dc3e43cab1d21ca493e75d79 100644 (file)
@@ -68,3 +68,6 @@ IN: sequences.extras
 
 : 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