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 at the end of May, and its replacement, statalist.org is already up and running.


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

st: Why does Stata return a syntax error when a quoted item containing spaces is the first element in a macro?


From   Aaron Kirkman <ak1795mailserv@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   st: Why does Stata return a syntax error when a quoted item containing spaces is the first element in a macro?
Date   Mon, 17 Jun 2013 16:23:56 -0500

I'm iterating over a macro that contains quoted elements with spaces,
but Stata returns a syntax error when a quoted element is the first
item. The list items are sheet names, e.g. "All Individuals", "<25",
... , "28+". This code:

    local sheets "All Individuals" <25 26 27 28+

returns a syntax (r198) error on the macro declaration. I get the same
error if I use compound quotes:

    local sheets `""All Individuals""' <25 26 27 28+

If I move the quoted item to another position in the list, the macro
declaration is successful and I can iterate over the items properly:

    local sheets <25 "All Individuals" 26 27 28
    foreach sheetname of local sheets {
        display `"`sheetname'"'
    }

I found a similar example on stack overflow
(http://stackoverflow.com/a/10067769):

    local mylist aaa bbb "cc c" dd ee ff
    foreach filename of local mylist {
      display `"`filename'"'
    }

which works in the same fashion and is successful. However, if I move
the quoted item to the beginning of the macro:

    local mylist "cc " aaa bbb dd ee ff

Stata returns the same syntax error as before. How can I set up this
macro in order for Stata to parse it correctly? The "All Individuals"
item needs to be the first item in the macro; otherwise I would move
it elsewhere in the list to bypass the error. Am I escaping the quotes
incorrectly?

I'm using Stata 12 MP on Windows 7 x64.


Thank you,
Aaron
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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