Genera codice

La generazione di codice è il processo di trasformazione dei blocchi in uno spazio di lavoro in una stringa di codice eseguibile.

La generazione di codice è estremamente importante, perché consente ai blocchi di fare effettivamente delle cose, ad esempio valutare espressioni aritmetiche, spostare un personaggio in un labirinto o configurare un negozio online.

Blockly non "esegue" direttamente i blocchi. ma generi stringhe di codice e poi le esegui.

Generatori di codice

Per generare codice, utilizza un'istanza del generatore di codice.

Questo snippet di codice mostra come generare codice JavaScript per i blocchi in uno spazio di lavoro:

// javascriptGenerator is a code generator that makes JavaScript strings.
import {javascriptGenerator} from 'blockly/javascript';

const code = javascriptGenerator.workspaceToCode(myWorkspace);

Per saperne di più sui diversi generatori di codice forniti da Blockly e su come accedervi, consulta Generatori di codice per lingua.

Generatori di codice blocco

A ogni blocco è associato un generatore di codice blocco che definisce il codice che genera. È necessario definire un generatore di codice blocco per ogni singola lingua che vuoi generare.

Questi snippet di codice definiscono un generatore di codice di blocco JavaScript per un blocco "avanza":

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 codice blocco, consulta Generatori di codice blocco.

Esecuzione

Dopo aver generato il codice, devi capire come eseguirlo. Decidere come eseguirlo è molto specifico per l'applicazione e non rientra nell'ambito di Blockly.

Per ulteriori informazioni sui modi per eseguire il codice, consulta Generare ed eseguire codice.