--- 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 -------------
Hope this helps,
Maarten
-----------------------------------------
Maarten L. Buis
Department of Social Research Methodology
Vrije Universiteit Amsterdam
Boelelaan 1081
1081 HV Amsterdam
The Netherlands
visiting address:
Buitenveldertselaan 3 (Metropolitan), room N515
+31 20 5986715
http://home.fsw.vu.nl/m.buis/
-----------------------------------------
*
* 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/