MANEJO DEL ESPACIO DE TRABAJO

» DEFINICION DE VARIABLES » HAZ


HAZ nombrevar valor

Asigna el valor indicado en valor a la variable nombrevar, que debe ser una palabra sin que importe si está en mayúsculas o minúsculas. Si la variable ya existe, cambia su valor. Si no, se crea una nueva variable global.

nombrevar:(PALABRA) Nombre de la variable.
valor:(OBJETO) Objeto que será asignado a la variable.

Ejemplo:

haz "foo [Hola, cómo estás]
muestra :foo
[Hola, cómo estás]


» DEFINICION DE VARIABLES » NOMBRE


NOMBRE valor nombrevar

Asigna el valor indicado en el argumento valor a la variable nombrevar, que debe ser una palabra, sin que importe si está en mayúsculas o minúsculas. Si la variable ya existe, cambia su valor. Si no, se crea una nueva variable global. Esta orden es parecida a pero con la entrada en orden inverso.

valor:(OBJETO) Objeto que será asignado a la variable.
nombrevar:(PALABRA) Nombre de la variable.

Ejemplo:

nombre [Hola, cómo estás] "foo
muestra :foo
[Hola, cómo estás]


» DEFINICION DE VARIABLES » LOCAL


LOCAL nombrevar
LOCAL nombrevarlista
(LOCAL nombrevar1 nombrevar2 ...)

Acepta como entradas una o más palabras, o una lista de palabras. Se crea una variable por cada una de las entradas, con el nombre de esa palabra. Las variables son locales en el procedimiento en que se encuentran. Las variables en Logo tienen un alcance dinámico; una variable local en un procedimiento no está disponible en los subprocedimientos invocados por ese procedimiento. Las variables creadas con no tienen valor inicial; se les debe asignar un valor (p.e.con ) antes de que el procedimiento intente leer su valor.

nombrevar:(PALABRA) Nombre de una variable local.
nombrevarlista:(LISTA) Lista de nombres (palabras) que serán variables locales.
nombrevar1:(PALABRA).
nombrevar2:(PALABRA).

Ejemplo:

para foo
haz "bar 1
escribe :bar
fin

foo
1

muestra :bar
1

para abc
local "xyz
haz "xyz 1
escribe :xyz
fin

abc
1

muestra :xyz
xyz no tiene valor


» DEFINICION DE VARIABLES » VALOR


valor VALOR nombrevar
valor : nombrevar

Devuelve el valor de una variable cuyo nombre es la entrada. Tiene como abreviatura (:)

valor "foo equivale a :foo

valor:(OBJETO).
nombrevar:(PALABRA).

Ejemplo:

haz "foo [Hola, cómo estás]

muestra valor "foo
[Hola, cómo estás]

muestra :foo
[Hola, cómo estás]


» CONTROL DE ESPACIO DE TRABAJO » EDITA


EDITA contenidolista
ED contenidolista
(EDITA)
(ED)
ED

Edita las definiciones de elemento(s), usando el Editor de Logo.

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para "myprog
escribe "Horla
fin
myprog
Horla
edita "myprog

myprog
Hola


» CONTROL DE ESPACIO DE TRABAJO » EDTODO


EDTODO

Edita todo. Es una abreviación de .

Ejemplo:

para "myprog
escribe "Horla
fin
haz "foo "bar
edtodo


» CONTROL DE ESPACIO DE TRABAJO » EDITASESION


EDITASESION nombrearchivo
ESS nombrearchivo

Ejecuta el editor de Logo (ver ), de la misma manera que lo hace ; pero, en lugar de editar un archivo temporal, edita un archivo especificado en la entrada. Cuando se cierra el editor, Logo lee el archivo modificado como lo hace EDITA. EDITASESION también recuerda el nombre del archivo, así que un subsecuente comando EDIT sin entrada re-editará el mismo archivo.

EDITASESION es una alternativa a usar y . Con este comando puede mantener una sesion propia, controlar el orden en que aparecen las definiciones, mantener "comentarios" en el archivo, etc.

nombrearchivo:(PALABRA) Nombre de la sesión.

Ejemplo:

ess "misesion

; Este es mi primer programa
; Este archivo se llama misesion

para "myprog
escribe "Hola
fin

haz "variable 10

myprog
Hola
ed


» CONTROL DE ESPACIO DE TRABAJO » CARGA


CARGA nombrearchivo
(CG nombrearchivo)
CG

Carga un archivo. El archivo puede incluir definiciones de procedimiento con , que serán aceptados aunque esos procedimientos existan.

Si Logo ve un PARA definirá ese procedimiento.

Si Logo ve un HAZ creará la variable.

Si Logo ve código fuera de la definición de un procedimiento, lo ejecutará en el orden en que aparezca.

CARGA recuerda el nombre del archivo, de tal manera que posteriormente se puede escribir simplemente CG para recargar el contenido (majorado o aumentado) del archivo.

nombrearchivo:(PALABRA).

Ejemplo:

para myprog1
escribe "Hola1
fin

para myprog2
escribe "Hola2
fin

imts
para myprog1
para myprog2
guarda "myprogs.lgo
botodo
imts
carga "myprogs.lgo
imts
para myprog1
para myprog2


» CONTROL DE ESPACIO DE TRABAJO » GUARDA


GUARDA nombrearchivo

Guarda las definiciones de todos los procedimientos, variables y listas de propiedades no vacías, que no estén tapados, al archivo indicado.

nombrearchivo:(PALABRA).


» CONTROL DE ESPACIO DE TRABAJO » AYUDA


AYUDA nombre
(AYUDA)

Muestra información del manual de referencia sobre la primitiva o procedimiento de librería indicada. Sin entradas, muestra ayuda general.

Como excepción, el comando AYUDA puede ser usado sin paréntesis y sin entrada, si es que se lo ingresa solo en la línea de comandos.

nombre:(PALABRA).


» CONTROL DE ESPACIO DE TRABAJO » PONEDITOR


PONEDITOR rutaeditor

Indica a Logo que use el programa especificado como su editor, en lugar del editor por defecto.

rutaeditor:(PALABRA).

Ejemplo:

poneditor "pico
poneditor "notepad


» CONTROL DE ESPACIO DE TRABAJO » TRAZA


TRAZA contenidolista

Marca un elemento para ser ejecutado en modo trazar (modo de rastreo). Cuando se ejecuta un procedimiento que ha sido marcado, Logo envía un mensaje con los valores actuales de las entradas, también cuando el procedimiento ejecuta las primitivas o . Cuando se rastrea una variable, Logo envía un mensaje siempre que se le asigna un nuevo valor. Vea también .

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para myprog :a
escribe :a
fin
myprog "Hola
Hola
traza "myprog
myprog "Hola
(myprog "Hola)
Hola
notraza "myprog
myprog "Hola
Hola


» CONTROL DE ESPACIO DE TRABAJO » NOTRAZA


NOTRAZA contenidolista

Desactiva el modo traza. Vea también .

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para myprog :a
escribe :a
fin
myprog "Hola
Hola
traza "myprog
myprog "Hola
(myprog "Hola)
Hola
notraza "myprog
myprog "Hola
Hola


» CONTROL DE ESPACIO DE TRABAJO » TRAZADOS


contenidolista TRAZADOS

Devuelve una lista de contenidos que incluye todos los elementos rastreados del espacio de trabajo.

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.


» CONTROL DE ESPACIO DE TRABAJO » PASO


PASO contenidolista

Marca un elemento para su ejecución en modo PASO. Siempre que se invoca un procedimiento en este modo, Logo escribe cada línea del procedimiento antes de ejecutarla y espera una pulsación del usuario para continuar con una nueva línea; también envía un mensaje siempre que el nombre de una variable "hace sombra a otra" porque se crea una variable local con el mismo nombre con o se utiliza una entrada de un procedimiento con el mismo nombre. Vea también .

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para myprog
av 10
gd 90
av 20
gi 90
fin
myprog
paso "myprog

myprog
nopaso "myprog
myprog


» CONTROL DE ESPACIO DE TRABAJO » NOPASO


NOPASO contenidolista

Desactiva la ejecución en modo PASO. Vea también .

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para myprog
av 10
gd 90
av 20
gi 90
fin
myprog
paso "myprog

myprog
nopaso "myprog
myprog


» CONTROL DE ESPACIO DE TRABAJO » ENPASO


contenidolista TRAZADOS

Devuelve una lista de contenidos que incluye todos los elementos en modo de PASO del espacio de trabajo.

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.


» CONTROL DE ESPACIO DE TRABAJO » TAPA


TAPA contenidolista

Oculta los procedimientos, variables y listas de propiedades contenidos que aparecen en su entrada. Un elemento tapado no se incluye en las listas de salida de , , , y , pero se incluye en la lista de salida de . Por implicación, no contendrá los objetos tapados, ni los guardará .

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para foo
Escribe [Estoy aquí]
fin

para bar
Escribe [Allí estoy]
fin

imts
para bar
para foo
tapa [[foo] [] []]
imts
para bar
foo
Allí estoy


» CONTROL DE ESPACIO DE TRABAJO » TAPAVAR


TAPAVAR nombrevariable
TAPAVAR varlistanombres

nombrevariable:(PALABRA) Nombre de variable que será tapada.
varlistanombres:(LISTA) Lista de nombres de variables que serán tapadas.

Ejemplo:

haz "foo 1
haz "bar 2
imtodo
Haz "bar 2
Haz "foo 1
tapavar "foo
imtodo
Haz "bar 2
muestra :foo
1
muestra :bar
2


» CONTROL DE ESPACIO DE TRABAJO » DESTAPA


DESTAPA contenidolista

Destapa los procedimientos, variables y listas de propiedades que aparecen en la entrada contenidolista. Esto es, estos elementos se mostrarán con , etc.

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

haz "foo 1
haz "bar 2
imvariables
Haz "bar 2
Haz "foo 1
tapanombre [foo]
imvariables
Haz "bar 2
destapa [[] [foo] []]
imvariables
Haz "bar 2
Haz "foo 1


» CONTROL DE ESPACIO DE TRABAJO » BOTODO


BOTODO

Borra todos los procedimientos, variables, y listas de propiedades de memoria.

Ejemplo:

para foo
fin
para bar
fin
imts
para foo
para bar
botodo
imts


» CONTROL DE ESPACIO DE TRABAJO » BOPROCS


BOPROCS

Borra todos los procedimientos no tapados de la memoria.

Ejemplo:

para foo
fin
para bar
fin
imts
para foo
para bar
boprocs
imts


» CONTROL DE ESPACIO DE TRABAJO » BORRA


BORRA contenidolista
BO contenidolista

Borra de la memoria los procedimientos, variables y listas de propiedades indicados. Si contenidolista es en realidad una PALABRA, BORRA borrará el procedimiento con ese nombre. Las primitivas no se borrarán a no ser que la variable tenga el valor CIERTO.

contenidolista:(LISTA) Lista de tres listas con procedimientos, variables y propiedades.

Ejemplo:

para foo
fin
para bar
fin
imts
para foo
para bar
borra "foo
imts
para bar


» CONTROL DE ESPACIO DE TRABAJO » BOVARS


BOVARS

Borra todas las variables no tapadas de la memoria.

Ejemplo:

haz "foo 1
haz "bar 2
imvars
Haz "bar 2
Haz "foo 1
imvars


» CONTROL DE ESPACIO DE TRABAJO » BOVAR


BOVAR nombrevariable
BOVAR varlistanombres

Borra de la memoria la variable(s).

nombrevariable:(PALABRA) Nombre de la variable a borrar.
varlistanombres:(LISTA) Lista de nombres de variables para borrar.

Ejemplo:

haz "foo 1
haz "bar 2
haz "baz 2
imvars
Haz "bar 2
Haz "baz 2
Haz "foo 1
bovar [foo baz]
imvars
Haz "bar 2


» INSPECCION » IMTODO


IMTODO

Escribe todas las definiciones no tapadas del espacio de trabajo.

Ejemplo:

para xxx
escribe "Hola
fin
haz "a 10
imtodo
para xxx
escribe "Hola
fin

haz "a 10


» INSPECCION » IMTS


IMTS

Escribe todas las líneas de título de los procedimientos no tapados del espacio de trabajo.

Ejemplo:

para xxx
escribe "Hola
fin
para bar
escribe "Hola2
fin
imts
para bar
para xxx


» INSPECCION » IMVARS


IMVARS

Comando que escribe todas las definiciones de todas la variables no tapadas que haya en el entorno de trabajo.

Ejemplo:

haz "nada 1
imvars
Haz "nada 1


» PREDICADOS » VAR?


verdad VAR? nombre

Devuelve CIERTO si la entrada es el nombre de una variable.

verdad:(BOOLEANO).
nombre:(PALABRA).

Ejemplo:

define "abc [[a b] [escribe :a] [escribe :b]]
haz "xyz 1
muestra var? "abc
falso
muestra var? "xyz
cierto


» PREDICADOS » PRIMITIVA?


verdad PRIMITIVA? nombre

Devuelve CIERTO si la entrada es el nombre de una primitiva. Observe que algunos de los comandos que vienen con Logo son procedimientos escritos en Logo, no primitivas.

verdad:(BOOLEANO).
nombre:(PALABRA).

Ejemplo:

para avanzad :arg
avanza :arg
fin
muestra primitiva? "avanzad
falso
muestra primitiva? "avanza
cierto


» CONSULTAS » LISTANOMBRES


contenidolista LISTANOMBRES varnombre
contenidolista LISTANOMBRES varnombrelista

Devuelve una lista formada por una lista vacía seguida de otra lista con el nombre o nombres de los argumentos.

contenidolista:(LISTA) Lista formada por 2 sublistas; la primera es una lista de procedimientos vacía y la segunda, una lista con los nombres de variables.
varnombre:(PALABRA) Nombre que se quiere poner en contenidolista.
varnombrelista:(LISTA) Lista de nombres que se quiere poner en contenidolista.

Ejemplo:

muestra listanombres [foo bar]
[[] [foo bar]]


» CONSULTAS » CONTENIDO


Devuelve una lista, formada por tres listas que contiene los nombres de los procedimientos definidos, las variables y propiedades. Esta lista incluye todos los elementos no tapados del espacio de trabajo.

contenidolista:(LISTA).

Ejemplo:

para proc1
fin
haz "nombre1 1
ponprop "prop1 "p1 1
muestra contenido
[[proc1] [nombre1] [prop1]]


» CONSULTAS » TAPADOS


contenidolista TAPADOS

Devuelve todos los elementos que se encuentran el espacio de trabajo.

contenidolista:(LISTA) Lista formada por tres sublistas que contiene los procedimientos, las variables y propiedades tapados.

Ejemplo:

muestra tapados
[[] [] []]


» CONSULTAS » LVARS


contenidolista LVARS

Devuelve una lista vacía (lo que indica que no son nombres de procedimiento), seguida de una lista con los nombres de las variable no tapadas del espacio de trabajo.

contenidolista:(LISTA).

Ejemplo:

haz "foo 1
haz "bar 2
muestra lvars
[[] [bar foo]]