add surround and glue to sequences
parent
a329960d7e
commit
fd270d8ef2
|
@ -714,6 +714,26 @@ HELP: 3append
|
|||
}
|
||||
} ;
|
||||
|
||||
HELP: surround
|
||||
{ $values { "seq1" sequence } { "seq2" sequence } { "seq3" sequence } { "newseq" sequence } }
|
||||
{ $description "Outputs a new sequence with " { $snippet "seq1" } " inserted between " { $snippet "seq2" } " and " { $snippet "seq3" } "." }
|
||||
{ $examples
|
||||
{ $example "USING: sequences prettyprint ;"
|
||||
"\"sssssh\" \"(\" \")\" surround ."
|
||||
"\"(sssssh)\""
|
||||
}
|
||||
} ;
|
||||
|
||||
HELP: glue
|
||||
{ $values { "seq1" sequence } { "seq2" sequence } { "seq3" sequence } { "newseq" sequence } }
|
||||
{ $description "Outputs a new sequence with " { $snippet "seq3" } " inserted between " { $snippet "seq1" } " and " { $snippet "seq2" } "." }
|
||||
{ $examples
|
||||
{ $example "USING: sequences prettyprint ;"
|
||||
"\"a\" \"b\" \",\" glue ."
|
||||
"\"a,b\""
|
||||
}
|
||||
} ;
|
||||
|
||||
HELP: subseq
|
||||
{ $values { "from" "a non-negative integer" } { "to" "a non-negative integer" } { "seq" sequence } { "subseq" "a new sequence" } }
|
||||
{ $description "Outputs a new sequence consisting of all elements starting from and including " { $snippet "from" } ", and up to but not including " { $snippet "to" } "." }
|
||||
|
@ -1348,6 +1368,8 @@ ARTICLE: "sequences-appending" "Appending sequences"
|
|||
{ $subsection append }
|
||||
{ $subsection prepend }
|
||||
{ $subsection 3append }
|
||||
{ $subsection surround }
|
||||
{ $subsection glue }
|
||||
{ $subsection concat }
|
||||
{ $subsection join }
|
||||
"A pair of words useful for aligning strings:"
|
||||
|
|
|
@ -268,3 +268,6 @@ M: bogus-hashcode hashcode* 2drop 0 >bignum ;
|
|||
[ { 1 3 "X" 5 7 } ] [ "X" 2 { 1 3 5 7 } insert-nth ] unit-test
|
||||
|
||||
[ V{ 0 2 } ] [ "a" { "a" "b" "a" } indices ] unit-test
|
||||
|
||||
[ "a,b" ] [ "a" "b" "," glue ] unit-test
|
||||
[ "(abc)" ] [ "abc" "(" ")" surround ] unit-test
|
||||
|
|
|
@ -317,6 +317,10 @@ PRIVATE>
|
|||
|
||||
: 3append ( seq1 seq2 seq3 -- newseq ) pick 3append-as ;
|
||||
|
||||
: surround ( seq1 seq2 seq3 -- newseq ) swapd 3append ; inline
|
||||
|
||||
: glue ( seq1 seq2 seq3 -- newseq ) swap 3append ; inline
|
||||
|
||||
: change-nth ( i seq quot -- )
|
||||
[ [ nth ] dip call ] 3keep drop set-nth ; inline
|
||||
|
||||
|
|
Loading…
Reference in New Issue