Statalist


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

st: Re: Using backslash in macros


From   "Martin Weiss" <[email protected]>
To   <[email protected]>
Subject   st: Re: Using backslash in macros
Date   Thu, 7 May 2009 19:24:54 +0200

<>

http://www.stata-journal.com/article.html?article=pr0042

HTH
Martin _______________________ ----- Original Message ----- From: "Steinar Fossedal" <[email protected]>
To: <[email protected]>
Sent: Thursday, May 07, 2009 7:22 PM
Subject: st: Using backslash in macros


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/

*
*   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–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index