Enviar Dataframe por Link
En Wired Code: effect.send_dataframe
Manda por los Links WIRED que le marques un dataframe: hasta 12 valores, cada uno con su nombre. Lo recogen las pilas con Recibir Dataframe por Link que escuchan los Links de la misma red, en tus otras salas o en la tuya.
Cómo funciona
Un dataframe es una tabla pequeña. Cada fila lleva una clave —el nombre del dato, como puntos o
ganador— y su valor. La pila que lo recibe busca por la clave los valores que le interesen, así que
las dos puntas tienen que usar las mismas claves.
Cada fila elige de dónde sale su valor:
| Fila | Qué manda |
|---|---|
| Número, con un número escrito | Ese número |
| Número, con una variable | El valor de la variable |
| Texto de variable | El texto que le pone a ese valor el Conector de texto de la variable, como saldría en un mensaje. Solo admite variables que tengan conector; vacía, manda null |
| Mensaje personalizado | Un texto tuyo, de hasta 200 bytes, con los identificadores $(…) de la pila |
Todo se calcula aquí, al enviar. Las variables se leen y los identificadores se sustituyen en esta sala, en el momento en que sale el dataframe; a la otra sala llegan ya convertidos en texto. Y como sale después de los movimientos y de las variables de la pila (ver El orden de ejecución), un valor que esta misma pila acaba de cambiar se envía ya cambiado.
Una variable de furni o de usuario vale distinto en cada uno, así que cada fila dice de quién se lee.
Si la fuente reúne a varios, se envía el valor del primero que tenga la variable. Si ninguno la tiene, la
fila manda null; una variable de contexto que no tiene valor manda -1.
A qué Links llega está en Links y redes. Sale una entrega por cada Link de la lista.
Configuración
Número de filas, de 0 a 12. Viene en 0, y por cada fila aparece una sección Fila 1, Fila 2…, con dos líneas:
- Clave, y a su lado un desplegable con Número —el de fábrica—, Texto de variable y Mensaje personalizado.
- Debajo, Valor o Mensaje:, según lo elegido:
- Con Número, Valor es un campo valor o variable: escribe un número entero o el nombre de una variable, o elígela con el botón de la derecha.
- Con Texto de variable, el mismo campo, pero solo admite una variable con conector de texto, o nada.
- Con Mensaje personalizado, Mensaje: es un campo de texto de hasta 200 bytes.
De quién se lee la variable de cada fila se elige en el selector del campo, en Escoge la fuente de la variable: los iconos de furni, usuario, global y contexto —de fábrica, contexto— y, para furni o usuario, las flechas:
| Tipo | De quién se lee |
|---|---|
| Furni | Usar furni desencadenante, Usar furnis seleccionados (los mismos Links por los que envías), Selección de furnis secundarios, Usar furnis de Selector —la de fábrica— o Usar furnis de Señal |
| Usuario | Usar usuario desencadenante —la de fábrica—, Usar usuarios del Selector o Usar usuarios de la Señal |
Selección de furnis secundarios es una lista de furnis que marcas a mano con el botón que aparece a su lado, con su propio contador. Es una sola lista para todas las filas: dos filas con esa fuente leen de los mismos furnis.
Debajo de las filas va el Retraso (segundos) de siempre, contado en Retardos y repeticiones.
Los Links por los que sale se eligen dentro de Mostrar opciones avanzadas, en Links WIRED, igual que en Enviar Mensaje por Link: Usar furnis seleccionados —la de fábrica, con los Links marcados con un clic en la sala—, Usar furnis de Selector, Usar furnis de Señal o Usar furni desencadenante. De las fuentes solo cuentan los Links WIRED; entre los marcados a mano no puede haber otra cosa, o sale «Selecciona al menos un Link WIRED.»
Lo que no se guarda
Las claves siguen las mismas reglas que en
Recibir Dataframe por Link: de 1 a 40
letras sin acentos, números o _, sin repetirse, y se guardan normalizadas —Mi Clave queda
mi_clave—. Además:
| Aviso | Por qué |
|---|---|
| «Los textos en los Wired pueden tener como máximo 200 caracteres.» | El mensaje de la fila pasa de 200 bytes: una letra con acento o una ñ cuenta dos, un emoji cuatro |
| «Elige una variable disponible para el tipo de fuente seleccionada.» | La fila lleva una variable que no guarda valor o que no es del tipo elegido en el selector |
| «Este dataframe es demasiado larga para guardarla. Acorta sus claves o mensajes, o usa menos filas.» | Entre todas las filas te pasas de lo que cabe |
Los avisos de una fila llevan delante Fila N:.
Ejemplo
La sala «Circuito» avisa a la sala «Vestíbulo» cada vez que alguien cruza la meta, con su nombre y las
vueltas que lleva. vueltas es una variable de usuario de la sala, y el Link del Circuito está en la
misma red que el del Vestíbulo, que lo recibe con
Recibir Dataframe por Link:
Sala «Circuito» · Pila A
│
├─ Complemento: Identificar Nombres
│ ├─ Nombre del identificador ................ corredor
│ └─ Tipo de identificador ................... Individual
│
├─ Causante: Sobre un Furni
│ └─ Elige Furni ............................. Meta
│
├─ Efecto: Cambiar valor de variable
│ ├─ Escoge una variable ..................... vueltas (ámbito usuario)
│ ├─ Escoge una operación .................... Suma
│ ├─ Valor de referencia ..................... 1
│ └─ Escoge el objetivo de la variable ....... Usuario desencadenante
│
└─ Efecto: Enviar Dataframe por Link
├─ Número de filas ......................... 2
├─ Fila 1 .................................. Clave: corredor · Mensaje personalizado → "$(corredor)"
├─ Fila 2 .................................. Clave: vueltas · Número → vueltas (Usuario · Usar usuario desencadenante)
└─ Links WIRED ............................. Usar furnis seleccionados → Link del CircuitoLa fila 2 manda las vueltas ya sumadas, porque el dataframe sale después del Cambiar valor de variable. El nombre va como mensaje porque no es una variable: lo pone Identificar Nombres.
Notas
Un dataframe no lleva gente. Para que la otra sala sepa de quién hablas, manda el dato: el nombre con
un Mensaje personalizado, o su @user_id con Número. Allí no podrá hacerle nada a esa persona si no
está en su sala.
La clave es el contrato entre las dos salas. Si cambias una clave aquí, cámbiala también en el
Recibir de la otra punta, o esa fila le llegará como null.
Para enseñar lo que mandas sin montar nada, pon en la sala de destino un Altavoz de Link WIRED: dice cada dataframe que llega, una línea por clave. Es la forma rápida de comprobar qué viaja.
Si no llega nada, revisa el camino: el Link tiene que estar en una red, la sala de destino tiene que estar cargada y allí tiene que haber un Link de esa misma red. Lo cuenta Links y redes.