|
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
st: nested macros [was: RE: AW: apostrophes, quotation marks, left or right quotes?]
From |
"Nick Cox" <[email protected]> |
To |
<[email protected]> |
Subject |
st: nested macros [was: RE: AW: apostrophes, quotation marks, left or right quotes?] |
Date |
Tue, 26 Feb 2008 14:58:43 -0000 |
Nesting I find easiest to understand by analogy with parenthesised
expressions in
elementary algebra. Thus we are all taught (I presume!) to evaluate
expressions like
(2 / (3 + 5))
from the inside outwards, so (3 + 5) is evaluated first, giving 8 and
then 2/8 = 1/4.
Similarly, in
`x`i''
the `i' must be evaluated first. The same principle applies to triple
and higher order nesting,
which are in practice pretty rare. The rule is thus simply: work from
the inside outwards.
A basic tutorial on macros is included within
SJ-2-2 pr0005 . . . . . . Speaking Stata: How to face lists with
fortitude
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N.
J. Cox
Q2/02 SJ 2(2):202--222 (no
commands)
demonstrates the usefulness of for, foreach, forvalues, and
local macros for interactive (non programming) tasks
The slides for a talk version of that paper can be found in various
places, e.g. at
http://www.cpc.unc.edu/services/computer/presentations/statatutorial/cox
_article.pdf
Nick
[email protected]
Martin Weiss
[...] the real hurdle is
to understand the macro expansion process induced by the left and right
quotes. To my - possibly limited - knowledge, there is no single place
where
you can learn it satisfactorily. In particular, the nesting mentioned by
Nick has given me headaches too many times. In fact, I still use a
trial-and-error process, coupled with -set trace on- (and the
concomitant
cluttered screen) to figure it out in complicated cases...
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/