Generazione del codice

La generazione del codice è il processo di trasformazione dei blocchi di un'area di lavoro in un stringa di codice che può essere eseguita.

La generazione del codice è estremamente importante, perché è ciò che consente ai blocchi di fare cose, come valutare espressioni aritmetiche, spostare un carattere in un labirinto o configurare un negozio online.

Blockly non "corre" direttamente i blocchi. Vengono generate stringhe di codice e e poi eseguirli.

Generatori di codice

Per generare il codice, viene utilizzata l'istanza di un 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 offerti da Blockly e su come accedervi, consulta Panoramica del generatore di codice.

Generatori di codice a blocchi

A ogni blocco è associato un generatore di codice a blocchi che definisce il codice generato. Deve essere definito un generatore di codici a blocchi per ogni lingua che vuoi generare.

Questi snippet di codice definiscono un generatore di codice a blocchi JavaScript per una "spostamento" avanti" blocco:

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 Generatori di codice a blocchi.

Esecuzione

Dopo aver generato il codice, devi capire come eseguirlo. La decisione su come eseguirla è molto specifica dell'applicazione e non rientra nell'ambito di Blockly.

Per ulteriori informazioni su come eseguire il codice, vedi Esecuzione del codice.