Statalist


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

st: Re: RE: Re: Using backslash in macros


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

<>

If Steinar`s WTP is low, he can also take a look at http://www.stata.com/statalist/archive/2008-04/msg01106.html


HTH
Martin
_______________________
----- Original Message ----- From: "Nick Cox" <[email protected]>
To: <[email protected]>
Sent: Thursday, May 07, 2009 7:36 PM
Subject: st: RE: Re: Using backslash in macros


Martin referred you to an article by me, which is certainly pertinent. Note that this issue is thoroughly ventilated in the manuals at [U] 18.3.11.

The bottom line for you is to use forward slashes for Windows filepath delimiters. Stata will happily translate.

N.B. what you call macrovariables are in Stata called local macros.

Nick
[email protected]

Martin Weiss

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

Steinar Fossedal

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?

*
*   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