Statalist


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

st: RE: RE: generate an error message if the wrong number of args is given following the args command


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: RE: generate an error message if the wrong number of args is given following the args command
Date   Mon, 29 Jun 2009 21:07:03 +0100

Another common technique is just to count. 

if `: word count `0'' != 1 error 198 

Note that Stata's definition of words includes explicitly quoted strings
as single words. 

If a program took a string message and a number value as in 

program nathan 
	version 11 
	args message answer 
	di as txt "`message' " as res `answer' 
end 

nathan "the answer is" 42 

-word count `0'- would still count the number of arguments to be 2. 

Nick 
n.j.cox@durham.ac.uk 

Nick Cox

I often do something like this 

program example 
	version 10.1 
	args factor garbage 
	if "`factor'" == "" | "`garbage'" != "" { 
		error 198 
	} 

You can approach this in other ways, but I find this to be among the
most transparent. 

Nick 
n.j.cox@durham.ac.uk 

Nathan Danneman

I have written a program, which utilizes the args command.  The
program analyzes regression results, and requires the user to input a
single constant.  Is there a way to generate an error message if the
user inputs an incorrect number of arguments (either none, or more
than one)?

Here is what the program looks like...

capture program drop example
program example
	version 10.1
	args factor
** I would like to input a line here that would do something like (if
number of args != 1, then error "wrong number of arguments")
...
...

end


*
*   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–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index