I think you are now introducing different issues, in so far as do files
are executed a little differently from commands issued one by one
interactively.
Evidently end-of-line comments are stripped out of do files, but allowed
in -lookfor- in so far as (by accident) they are consistent with its
design. Remember, do-files are a primitive form of -program-.
If there's an issue, it is one of which kind of comments are allowed
where.
As someone once said, "The price of freedom is eternal vigilance". In
the case of -lookfor-, its very general syntax may imply occasional
surprises. But "Don't do that then!" is often the best advice.
I think a real question is this: If you think -lookfor- is buggy, how
would you suggest StataCorp fix it? What should be its syntax if the
price is that it never give misleading results?
(Don't tell Sergiy about this: he should be able to think up weird input
for -lookfor- that would crash Stata.)
Nick
[email protected]
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Jeph Herrin
Sent: 26 January 2009 22:54
To: [email protected]
Subject: Re: st: RE: minor bug in -lookfor-?
Well, I did put a question mark in the subject line...
But how does the following sit with you?
. lookfor age /* sex */
storage display value
variable name type format label variable label
------------------------------------------------------------------------
--------------------------------------------------------------
age byte %8.0g Age
sex byte %8.0g Sex
As you say, -lookfor- is functioning exactly as advertised.
On the other hand, one comes to expect certain behavior from
Stata commands. More, if I paste the above line into the do-editor
and -do- it:
. lookfor age /* sex */
storage display value
variable name type format label variable label
------------------------------------------------------------------------
--------------------------------------------------------------
age byte %8.0g Age
I would argue that it's good style, if nothing else, that a
command that runs interactively and in a do-file without
error should return the same results in both contexts.
And yes, I have used -lookfor- in -do-files before, it is a
handy way of grabbing a list of variables and storing them in
a local.
Thoughts?
Nick Cox wrote:
I've got to say that I don't regard this as a bug.
-lookfor- does not claim to support options, nor does it do that. So,
there's no inconsistency either way in that respect.
Nor do I think that there is a good reason to ban commas as input, if
that were to be suggested. Commas can be part of strings, no question.
As -lookfor- behaves reasonably even when Jeph treats it not quite as
intended, wherein lies the bug?
Nick
[email protected]
Jeph Herrin
For what it's worth, I was surprised to discover that
lookfor myvar, fullnames
produces the same result as
lookfor myvar fullnames
That is, if you add any options to -lookfor-, it ignores the
comma and treats the options as search strings.
On the one hand, the documentation clearly indicates there
are no options. On the other, it often happens that I try
options that I think might work and expect Stata complain
if they are invalid.
In this case, I abbreviated -fullnames- to -fu-, and was finding
variables that in no way matched -myvar-. Took me a while to
puzzle out.
*
* 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/