Locals

Este código define una macro local llamada algo con el cotenido “algo de texto”.


. local algo "algo de texto" // una macro con un string
. local num 5 // una macro con un número

Si usamos esta sintaxis:


. local res = substr("this", 1, 2) + "at"

STATA evalúa la expresión a la derecha del signo = antes de asignarla.

Si quiero imprimir el contenido de res en la consola, es necesario “dereferenciar” el macro y ponerla entre comillas:


. display "`res'"
that

Esto es porque cuando derefenciamos una macro (`res’), STATA sustituye esa expresión por el contenido de la macro. Por lo tanto, cuando escribimos `res', STATA escucha el contenido de la macro (en este caso era “that”. Entonces display `res' es lo mismo que display that, y como that no es una variable STATA da un error.

Anuncios