Another solution is to say
if r(numbd) == "1" {
That should work, but I don't recommend it. I'd go the scalar route.
Nick
[email protected]
Maarten buis
--- Paul O'Brien <[email protected]> wrote:
> i have a small program cu7 with a saved local macro:
> program cu7, rclass
> local numd 1
> return local numd =`numd'
> end
>
> but using the program in an ado:
> cu7
> if r(numd) == 1 {
> display r(numd)
> }
>
> i get:
> . cu7
> . if r(numd) == 1 {
> type mismatch
There are two solutions. First you can refer to the returned result as
`r(numd)' like in the example below:
*--------- begin example ----------
capture program drop cu7
program cu7, rclass
local numd 1
return local numd =`numd'
end
cu7
if `r(numd)' == 1 {
di "bla"
}
*---------- end example -----------
Second you can return numd as a scalar instead of a local, like in the
example below:
*--------- begin example ----------
capture program drop cu7
program cu7, rclass
local numd 1
return scalar numd =`numd'
end
cu7
if r(numd) == 1 {
di "bla"
}
*--------- end example -------------
*
* 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/