[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
"Sergiy Radyakin" <serjradyakin@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: comment out a number of lines together |

Date |
Thu, 2 Oct 2008 16:27:55 -0400 |

On Thu, Oct 2, 2008 at 4:00 PM, Steven Samuels <sjhsamuels@earthlink.net> wrote: > Sergiy, > -foreach-, or rather, the brackets it requires, must have something to do > with it. > > -Steve > > *****************CODE BEGINS**************** > sysuse auto, clear > #delim ; > *****************No Comments**************** > sum mpg > if rep78 ==1 ; > ****Putting a space in front of // works, as you stated: > // sum mpg > // if rep78 ==1; >>>>>THIS IS A SINGLE LINE OF CODE: <<<<<< > *****// without a preceding space works too: > // sum mpg > // if rep78 ==1; UNTIL THE SEMICOLUMN. Try putting a semicolumn right after the column and it breaks immediately. Sergiy > *****************CODE ENDS**************** > > On Oct 2, 2008, at 3:38 PM, Sergiy Radyakin wrote: > >> This is not because of fovalues or foreach. See help comments: >> "However, if the // indicator is at the end of a line, it must be >> preceded by one or more blanks." >> >> This is quite a unique requirement of Stata. I can't come up with any >> other system which would demand anything like that. Adding a space in >> the beginning of every line should not change the program, but in this >> case in does (and helps to fix the error). >> >> The fact that it works when the delimiter is CR is hence inconsistent >> with the documented behavior. >> >> Best regards, Sergiy Radyakin >> >> >> >> On Thu, Oct 2, 2008 at 3:27 PM, Steven Samuels <sjhsamuels@earthlink.net> >> wrote: >>> >>> Here's another example where * works and // doesn't. The circumstances: >>> the >>> delimiter is ";", and the code block contains a -forvalues- or -foreach- >>> section. /* and */ around the -foreach- section also works. >>> >>> -Steve >>> >>> *****************CODE BEGINS**************** >>> sysuse auto, clear >>> forvalues i=1/5 { >>> di "rep78 = " `i' >>> } >>> >>> #delim ; >>> >>> forvalues i=1/5 { ; >>> di "rep78 = " `i'; >>> }; >>> ; >>> >>> ***************** (*) COMMENT WORKS **************** >>> * forvalues i=1/5 { ; >>> * di "rep78 = " `i'; >>> * }; >>> * ; >>> >>> ***************** // COMMENT FAILS**************** >>> // forvalues i=1/5 { ; >>> // di "rep78 = " `i'; >>> // }; >>> // ; >>> *****************CODE ENDS**************** >>> >>> On Oct 2, 2008, at 12:44 PM, Nick Cox wrote: >>> >>>> Very good catch, Sergiy. Thanks for the correction! I should have >>>> checked about the //. >>>> Conversely, this is another argument for the deprecated *. >>>> >>>> Nick >>>> n.j.cox@durham.ac.uk >>>> >>>> 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 <n.j.cox@stata.com> 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 >>>>> n.j.cox@durham.ac.uk >>>>> >>>>> >>>>> Maarten buis wrote: >>>>>> >>>>>> --- Paul O'Brien <paul.obrien@afe2.org.uk> 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/ >>> >>> * >>> * 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/ > > * > * 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/

**Follow-Ups**:**Re: st: comment out a number of lines together***From:*Steven Samuels <sjhsamuels@earthlink.net>

**References**:**RE: st: comment out a number of lines together***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

**Re: st: comment out a number of lines together***From:*Steven Samuels <sjhsamuels@earthlink.net>

**Re: st: comment out a number of lines together***From:*"Sergiy Radyakin" <serjradyakin@gmail.com>

**Re: st: comment out a number of lines together***From:*Steven Samuels <sjhsamuels@earthlink.net>

- Prev by Date:
**RE: st: overlapping survival KM graphs** - Next by Date:
**Re: st: Best laptop specifications to run version 9.0 and 10** - Previous by thread:
**Re: st: comment out a number of lines together** - Next by thread:
**Re: st: comment out a number of lines together** - Index(es):

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