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
or
^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