From cdd4de2cb3496b2f8eb62c0abc64c06d8b44b918 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 15 Apr 2012 10:34:23 -0700 Subject: [PATCH] sequences.extras: adding change-nths word. --- extra/sequences/extras/extras-tests.factor | 5 ++++- extra/sequences/extras/extras.factor | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/extra/sequences/extras/extras-tests.factor b/extra/sequences/extras/extras-tests.factor index 8a1b9a1c98..61f40d7378 100644 --- a/extra/sequences/extras/extras-tests.factor +++ b/extra/sequences/extras/extras-tests.factor @@ -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 diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index 200a82f8f8..5189738fb7 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -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