Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

Re: st: use of brace inside of macro - still a question


From   B Web <webicky@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: use of brace inside of macro - still a question
Date   Wed, 16 Jun 2010 10:31:47 -0700

looking for and I apologize for not being specific.

I want to end a loop defined by a "brace" stored in a global macro.

macro drop _all
global test  }

forv i=1/2{
 di in r "${test}"
 $[test}
* --- error ---
What I am trying to do is "end" the loop using the global macro of a
brace.   Can you get that working?  If so, please explain.  If not -
can someone else please elaborate.

Bill

On Wed, Jun 16, 2010 at 12:32 AM, Maarten buis <maartenbuis@yahoo.co.uk> wrote:
> --- On Wed, 16/6/10, Dr. Bill Westman wrote:
>> I am curious whether a brace can be
>> used inside of a macro.
>>
>> For example:
>>
>> sysuse auto, clear
>> macro drop _all
>>
>> global test  }
>> log using test, replace
>>
>> forvalues j = 1/1  {
>> macro list _all
>> }
>>
>> forvalues x = 1/1  {
>> macro list _all
>> ${test}
>> end
>> break
>> ...
>> causes Stata to provide r(1) error.
>>
>> I've tried the macro with and without quotes "" around the
>> brace.
>
> I guess what is happening is that Stata is collecting the
> lines of code that are part of a -forvalues- block without
> evaluating the local and global macros. This makes sense
> to me, as often you want the values of those macros to
> change across iterations of that loop. The consequence is
> then that you can't use a global or local macro containing
> a brace to close the loop: Stata saw the begining of the
> loop, so it starts collecting lines till it sees a closing
> brace, and since it is not evaluating the macros it can't
> find the closing brace, and than runs into your -break-
> command.
>
> Hope this helps,
> Maarten
>
> --------------------------
> Maarten L. Buis
> Institut fuer Soziologie
> Universitaet Tuebingen
> Wilhelmstrasse 36
> 72074 Tuebingen
> Germany
>
> http://www.maartenbuis.nl
> --------------------------
>
>
>
>
> *
> *   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index