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
[email protected]
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
[email protected]
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/