help for ^catenate^

Concatenation into string variable -----------------------------------

^catenate^ newvar = varlist [^if^ exp] [^in^ range] [^, p^unct^(^punctchars^)^ ]

Description ------------

^catenate^ generates a new string variable by concatenating varlist. The variables in varlist may be string or numeric.

Remarks --------

^catenate^ merely automates the use of ^generate^, as in

^gen^ str# newvar ^=^ strvar1 ^+^ strvar2


^gen^ str# newvar ^=^ strvar1 ^+ " " + ^ strvar2

Indeed, ^generate^ is preferable for problems as simple as these.

^catenate^ has these advantages: it is easier to specify a longer varlist and separating punctuation; characters will not be lost by truncation merely because the str# specified was too small; and there is automatic conversion of numeric values (although possible unwanted side-effects with non-integers).

Option -------

^punct(^punctchars^)^ specifies punctuation characters to separate the values of the original variables. The default is a single space ^" "^. As a special case ^punct(no)^ means no punctuation, that is, values are not separated.

Examples ---------

. ^l

^size beast num^ ^1. small frog 1^ ^2. small toad 2^ ^3. big camel 3^ ^4. so-so gnu 4^ ^5. tiny ant 5^

. ^catenate zoo = num size beast^ . ^catenate Zoo = num size beast, p(,)^

. ^l zoo Zoo^

^zoo Zoo^ ^1. 1 small frog 1,small,frog^ ^2. 2 small toad 2,small,toad^ ^3. 3 big camel 3,big,camel^ ^4. 4 so-so gnu 4,so-so,gnu^ ^5. 5 tiny ant 5,tiny,ant^

Author -------

Nicholas J. Cox, University of Durham n.j.cox@@durham.ac.uk