Very good catch, Sergiy. Thanks for the correction! I should have
checked about the //.
Conversely, this is another argument for the deprecated *.
Nick
[email protected]
Sergiy Radyakin
Nick,
local c //
will not work in the program because "//" is interpreted as the start
of the comment
it works in the command line though, because "//"-style comments are
prohibited in the command line input. To fix this:
1) open quotes before // like so: local c "//" , or
2) write it down as an expression, e.g. local c="/"+"/"
In any case, Stata fails to recognize "//" as a comment when it comes
as a result of macro expansion. But it works for a star ("*").
// --- begin of file testc.do ---
local c //
display `"`c'"'
local c ="/"+"/"
display `"`c'"'
local c "//"
display `"`c'"'
local c "*"
display `"`c'"'
`c' just nothing
local c "//"
`c' just nothing
// --- end of file testc.do ---
If writing out debugging messages, it may be more comfortable to use
di_g. See: help di_g.
Best regards, Sergiy Radyakin
On Tue, Sep 30, 2008 at 11:28 AM, Nick Cox <[email protected]> wrote:
> Another is to prefix lines by e.g.
>
> `c'
>
> Setting
>
> local c *
>
> or
>
> local c //
>
> comments out those lines.
>
> Setting
>
> local c
>
> zaps the macro.
>
> Naturally any definition of the local as "*" or "//" must precede all
uses
> that require that interpretation.
>
> The converse does not apply: if the local is not defined, Stata sees
the
> line.
>
> More generally, you can define or undefine the macro at will.
>
> I don't especially recommend this method, but it is an alternative
that is
> sometimes useful, and it matches practices in many programming
languages.
>
> Nick
> [email protected]
>
>
> Maarten buis wrote:
>>
>> --- Paul O'Brien <[email protected]> wrote:
>>
>>> at times i need to comment out a number of lines, usually with * and
>>> remove the * later to activate the commands.
>>> is there a simple way to remove and add the * to a number of line at
one
>>> go?
>>
>> One way to comment out a block of code is to surround them with /*
and
>> */ this way you have to remove only these two.
*
* 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/