Statalist


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

RE: st: RE: minor bug in -lookfor-?


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   RE: st: RE: minor bug in -lookfor-?
Date   Mon, 26 Jan 2009 23:14:40 -0000

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/



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