LOCALnombre_de_variable
LOCALlista_de_nombres
(LOCALnombre_de_variable1
nombre_de_variable2
...
)
Crea variables que son locales al procedimiento en que se encuentran. LOCAL acepta como argumentos una o más palabras o una lista de palabras. Se crea una variable por cada una de los argumentos, con el nombre de esa palabra. Las variables en Logo tienen un ámbito dinámico; una variable local en un procedimiento sólo está disponible en los subprocedimientos ejecutados por ese procedimiento. Las variables creadas con LOCAL no tienen valor inicial; les debes asignar un valor (por ejemplo, con HAZ) antes de que tu programa intente leer su valor.
Variables locales tienen una interacción extraña con las retrollamadas asíncronas, tales como las que se planifican con PONTEMPORIZADOR o HABILITATECLADO. Cuando se ejecutan una retrollamada asíncrona, interrumpe cualquier procedimiento que está ejecutando (si hay alguno). Cualquier variable que es local al procedimiento interrumpido está disponible a la retrollamada como si fuera un subprocedimiento. Por lo tanto, cuando un procedimiento que planifica una retrollamada está interrumpido por esa misma retrollamada, entonces todos los variables locales del procedimiento planificador están disponibles a la retrollamada. Sin embargo, si la retrollamada asíncrona se ejecutan después de que el procedimiento planificador ha terminado, entonces los variables que fueran locales a ese procedimiento no están disponibles a la retrollamada.
PARA SIN.LOCAL HAZ "bar 1 ESCRIBE :bar FIN SIN.LOCAL
1MUESTRA :bar
1PARA CON.LOCAL LOCAL "xyz HAZ "xyz 1 ESCRIBE :xyz FIN CON.LOCAL
1MUESTRA :xyz
xyz no tiene un valor todavía