La generación de código es el proceso de convertir los bloques de un lugar de trabajo en una cadena de código que se puede ejecutar.
La generación de código es extremadamente importante, ya que permite que tus bloques realmente hagan cosas, como evaluar expresiones aritméticas, mover un personaje por un laberinto o configurar una tienda en línea.
Blockly no “ejecuta” bloques directamente. En su lugar, generas cadenas de código y luego las ejecutas.
Generadores de código
Para generar código, usa una instancia de generador de código.
En este fragmento de código, se muestra cómo generar código JavaScript para los bloques de un espacio de trabajo:
// javascriptGenerator is a code generator that makes JavaScript strings.
import {javascriptGenerator} from 'blockly/javascript';
const code = javascriptGenerator.workspaceToCode(myWorkspace);
Para obtener más información sobre los diferentes generadores de código que proporciona Blockly y cómo acceder a ellos, consulta Generadores de código de lenguaje.
Generadores de código de bloque
Cada bloque tiene un generador de código de bloque asociado que define qué código genera. Se debe definir un generador de código de bloque para cada idioma individual que desees generar.
En estos fragmentos de código, se define un generador de código de bloque de JavaScript para un bloque de "avanzar":
javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
const steps = block.getFieldValue('FIELD_NAME');
// moveForward is a function you would have to define yourself and provide
// within your execution context.
return `moveForward(${steps});\n`;
}
Para obtener más información sobre cómo definir tus generadores de código de bloques, consulta Generadores de código de bloques.
Ejecución
Después de generar el código, debes descubrir cómo ejecutarlo. Decidir cómo ejecutarlo es muy específico de la aplicación y está fuera del alcance de Blockly.
Para obtener más información sobre cómo ejecutar código, consulta Cómo generar y ejecutar código.