Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Using backslash in macros


From   Steinar Fossedal <steinar.fossedal@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   st: Using backslash in macros
Date   Thu, 7 May 2009 19:22:10 +0200

Hi, listers

I'm having problems combining macrovariables when the first macro ends
with a backslash. Apparently, the end backslash is not included, and
the following macro is not unpacked. This is not a problem if the two
macros do not follow each other directly. The example below
illustrates the problem:


local indatadir e:\data\stata10\
local table mytable

di "indatadir <`indatadir'>"
di "table <`table'>"

// Backslash missing, macro `table' not unpacked:
di "`indatadir'`table'"
// Backslash ok and `table' unpacked when adding a sign (any letter)
behind the first macro:
di "`indatadir'_`table'"



The result is as follows:

local indatadir e:\data\stata10\

. local table mytable

.
. di "indatadir <`indatadir'>"
indatadir <e:\data\stata10\>

. di "table <`table'>"
table <mytable>

.
. // Backslash missing, macro `table' not unpacked:
. di "`indatadir'`table'"
e:\data\stata10`table'

. // Backslash ok and `table' unpacked when adding a sign (any letter)
behind the first macro:
. di "`indatadir'_`table'"
e:\data\stata10\_mytable



What is the reason behind this, and how can I work around it?

Cheers,
-Steinar
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index