Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: foreach and globals and {.}


From   Ulrich Kohler <kohler@wz-berlin.de>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: foreach and globals and {.}
Date   Mon, 11 Apr 2005 13:04:05 +0200

Hans J. Baumgartner wrote:
> Dear statalist,
>
> has anybody an idea how to solve the following problem?
>
>
> foreach x in ${out_`year’} {
> 	do something
> }
>
> That is: I have several globals and I need the braces to tell Stata that
> the local `year’ actually belongs to the global name.
>
> Now I would like to run a loop over all elements in the global
> ${out_`year’}.
>
> But the foreach command gets puzzled with the braces around the global,
> since it thinks that this means to start the loop. And this returns an
> error that a code follows on the same line as open braces.

I don't understand why you need the braces in ${out_`year'}. If  $out_`year' 
is a string, consisting out of several elements,  

foreach x in $out_`year' {
	do something
}

would be fine. If $out_`year' refers to a single element, which changes 
according to `year' within a loop, I cannot see why you start a loop at all. 

(I must admit that I have never seen something like ${out_`year'}, and I was 
kind of surprised that 

. global x "test"
. di "${x}"
test

works. Can anybody tell me what that means?)

uli

-- 
kohler@wz-berlin.de
+49 (030) 25491-361


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



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