circular: Fix rotate-circular
parent
e4bce2615f
commit
2fa3b8c57a
|
@ -13,6 +13,7 @@ circular strings ;
|
||||||
|
|
||||||
[ [ 1 2 3 ] ] [ { 1 2 3 } <circular> [ ] like ] unit-test
|
[ [ 1 2 3 ] ] [ { 1 2 3 } <circular> [ ] like ] unit-test
|
||||||
[ [ 2 3 1 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ ] like ] unit-test
|
[ [ 2 3 1 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ ] like ] unit-test
|
||||||
|
[ [ 3 1 2 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ rotate-circular ] keep [ ] like ] unit-test
|
||||||
[ [ 2 3 1 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start [ ] like ] unit-test
|
[ [ 2 3 1 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start [ ] like ] unit-test
|
||||||
[ [ 3 1 2 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start 1 over change-circular-start [ ] like ] unit-test
|
[ [ 3 1 2 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start 1 over change-circular-start [ ] like ] unit-test
|
||||||
[ [ 3 1 2 ] ] [ { 1 2 3 } <circular> -100 over change-circular-start [ ] like ] unit-test
|
[ [ 3 1 2 ] ] [ { 1 2 3 } <circular> -100 over change-circular-start [ ] like ] unit-test
|
||||||
|
|
|
@ -28,10 +28,10 @@ M: circular virtual-seq seq>> ;
|
||||||
circular-wrap (>>start) ;
|
circular-wrap (>>start) ;
|
||||||
|
|
||||||
: rotate-circular ( circular -- )
|
: rotate-circular ( circular -- )
|
||||||
[ start>> 1 + ] keep circular-wrap (>>start) ;
|
[ 1 ] dip change-circular-start ;
|
||||||
|
|
||||||
: push-circular ( elt circular -- )
|
: push-circular ( elt circular -- )
|
||||||
[ set-first ] [ 1 swap change-circular-start ] bi ;
|
[ set-first ] [ rotate-circular ] bi ;
|
||||||
|
|
||||||
: <circular-string> ( n -- circular )
|
: <circular-string> ( n -- circular )
|
||||||
0 <string> <circular> ;
|
0 <string> <circular> ;
|
||||||
|
|
Loading…
Reference in New Issue