From: "Nick Cox" <[email protected]>
Reply-To: [email protected]
To: <[email protected]>
Subject: RE: st: weight option after syntax
Date: Mon, 26 Sep 2005 10:29:44 +0100
Otherwise put, the implication of
namelist
is that a namelist is required. You
evidently regard it as optional,
which would be specified by
[namelist]
Nick
[email protected]
Scott Merryman
> I suspect the problem is that "namelist" requires that the
> names listed use
> the standard naming convention and names cannot begin with
> "[" If you use
> the "if" option then parser knows that what follows cannot be part of
> "namelist"
>
>
> One alternative is to use "anylist"
>
> program mycmd, rclass byable(recall)
> version 9.1
> syntax anything [if] [in] [pweight]
> gettoken subcmd anything: anything
> gettoken lhs anything: anything
> loc rhs `anything'
> di in r "`subcmd'"
> di in r "`lhs'"
> di in r "`rhs'"
> di in r "`weight'"
> di in r "`exp'"
> end
>
> Which now works:
>
>
> . mycmd fubar price mpg weight [anyhoo = (American) anyhow]
> [pw = fore]
> fubar
> price
> mpg weight [anyhoo = (American) anyhow]
> pweight
> = fore
Jun Xu
> Sorry that I forgot to mention that I am using Stata 9.1.
> > >I think I must miss something important here. I am trying
> to write a
> > >command that simply invokes a stata command repeatedly and
> collect some
> > >eret information. The following is the very beginning part
> of it (also
> > >where the problem lies), and I am having problems with the
> [pw] option. I
> > >inserted display commands to check if I am getting macro's
> that I want.
> > Any
> > >thoughts? Thanks a lot!
> > >
> > >==========================
> > > cap program drop mycmd
> > > program mycmd, rclass byable(recall)
> > > version 8.0
> > > syntax namelist [if] [in] [pw]
> > > gettoken subcmd namelist: namelist
> > > gettoken lhs namelist: namelist
> > > loc rhs "`namelist'"
> > >
> > > di in r "`subcmd'"
> > > di in r "`lhs'"
> > > di in r "`rhs'"
> > > di in r "`weight'"
> > > di in r "`exp'"
> > >
> > > end
> > >
> > >============================
> > >
> > >Everytime I launch the command by specifying weight option alone, I
> > always
> > >get an error message. Note that lwg is a real variable
> name and I have a
> > >working data set in memory.
> > >
> > >******
> > >. mycmd this is another issue [pw=lwg]
> > >[ invalid name
> > >r(198);
> > >
> > >end of do-file
> > >r(198);
> > >******
> > >
> > >However, if I work off a real data set and specify if
> condition before
> > >[pw=lwg], everything works fine. Note here k5 is a real variable.
> > >
> > >******
> > >. mycmd this is another issue if k5==3 [pw=lwg]
> > >this
> > >is
> > >another issue
> > >pweight
> > >= lwg
> > >******
*
* 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/
_________________________________________________________________