La generazione di codice è il processo di trasformazione dei blocchi su un'area di lavoro in una stringa di codice eseguibile.
La generazione del codice è estremamente importante perché consente ai blocchi di svolgere attività, ad esempio valutare espressioni aritmetiche, spostare un personaggio in un labirinto o configurare un negozio online.
Blockly non "corre" i blocchi direttamente. Generi le stringhe di codice e le esegui.
Generatori di codice
Per generare il codice, utilizza un'istanza del generatore di codice.
Questo snippet di codice mostra come generare il codice JavaScript per i blocchi in un'area di lavoro:
// javascriptGenerator is a code generator that makes JavaScript strings.
import {javascriptGenerator} from 'blockly/javascript';
const code = javascriptGenerator.workspaceToCode(myWorkspace);
Per ulteriori informazioni sui diversi generatori di codice forniti da Blockly e su come accedervi, consulta Panoramica dei generatori di codice.
Generatori di codici a blocchi
A ogni blocco è associato un generatore di codici a blocchi che definisce il codice che genera. È necessario definire un generatore di codici a blocchi per ogni lingua da generare.
Questi snippet di codice definiscono un generatore di codici a blocchi JavaScript per un blocco "moveforward":
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`;
}
Per ulteriori informazioni su come definire i generatori di codici a blocchi, consulta la pagina Generatori di codici a blocchi.
Attuazione
Dopo aver generato il codice, devi capire come eseguirlo. La decisione di eseguirla è molto specifica per l'applicazione ed esula dall'ambito di Blockly.
Per ulteriori informazioni sui modi per eseguire il codice, consulta Esecuzione del codice.