La génération de code consiste à transformer les blocs d'un espace de travail en chaîne de code pouvant être exécutée.
La génération de code est extrêmement importante, car c'est elle qui permet à vos blocs effectuer des actions, comme évaluer des expressions arithmétiques, déplacer un caractère dans un labyrinthe ou configurer une boutique en ligne !
Blockly ne "s'exécute" pas les blocs directement. À la place, vous générez des chaînes de code puis les exécuter.
Générateurs de code
Pour générer du code, vous utilisez une instance de générateur de code.
Cet extrait de code montre comment générer du code JavaScript pour les blocs d'une Workspace:
// javascriptGenerator is a code generator that makes JavaScript strings.
import {javascriptGenerator} from 'blockly/javascript';
const code = javascriptGenerator.workspaceToCode(myWorkspace);
Pour en savoir plus sur les différents générateurs de code fournis par Blockly, et comment y accéder, consultez la section Présentation du générateur de code.
Générateurs de code de bloc
Chaque bloc est associé à un générateur de code de bloc qui définit le code génère. Un générateur de code de bloc doit être défini pour chaque langue. à générer.
Cet extrait de code définit un générateur de bloc de code JavaScript pour une opération avant" bloc:
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`;
}
Pour en savoir plus sur la définition de vos générateurs de code de bloc, consultez Générateurs de code de bloc
Exécution
Après avoir généré le code, vous devez déterminer comment l'exécuter. Le choix de la méthode d'exécution dépend de l'application et n'entre pas dans le cadre de Blockly.
Pour en savoir plus sur les façons d'exécuter du code, consultez Exécution du code.