DarwinBotsManual
Abrir la app EnglishEN

.memloc

Elige qué celda de la memoria del bot que ves se copia en .memval.

Datos

Dirección
474
Nombre
.memloc
Tipo
Comando: el bot la escribe y el motor la lee y, en general, la consume
Grupo
Memoria (memloc, memval y genética)
Quién la escribe
Tu ADN.
Quién la lee
El motor, cada vez que llena .memval con el bot que ves. Solo usa direcciones de 1 a 1000.
Cuándo se borra
Nadie: queda hasta que la cambies. Un hijo nace con 0.
Rango
−32000 a 32000; solo sirven de 1 a 1000, sin ajuste de rango
Mutaciones
la eligen como destino de un store

Es una sysvar de configuración: escribís una dirección y el motor la usa en cada ciclo para llenar .memval con lo que tiene esa celda en el bot que estás viendo. No se borra nunca, así que alcanza con escribirla una vez, por ejemplo con un gen que corre solo mientras valga 0.

Solo sirven las direcciones de 1 a 1000. A diferencia de un store, acá no hay ajuste al rango: con 1061 .memloc store la celda guarda 1061 y .memval queda en 0, no espía la 61.

' Una sola vez: espiar el largo del ADN del bot que veo
cond
*.memloc 0 =
start
.dnalen .memloc store
stop

Fijate que .dnalen va sin asterisco: lo que se guarda es la dirección de .dnalen (la 336), no su valor. Con eso, *.memval *.dnalen = pregunta si el bot que ves tiene tu mismo largo de ADN. Podés espiar cualquier celda: una sysvar del otro, como su .eye5, o una de sus variables privadas. Para espiar por un lazo, usá .tmemloc.