A geração de código é o processo de transformar os blocos de um espaço de trabalho em um string de código que pode ser executada.
A geração de código é extremamente importante, porque é o que permite que seus blocos realizar ações, como avaliar expressões aritméticas, mover um caractere em um labirinto ou configurar uma loja on-line!
O Blockly não funciona diretamente. Em vez disso, você gera strings de código e executá-los.
Geradores de código
Para gerar código, use uma instância de gerador de código.
Este snippet de código mostra como gerar código JavaScript para os blocos de uma espaço de trabalho:
// javascriptGenerator is a code generator that makes JavaScript strings.
import {javascriptGenerator} from 'blockly/javascript';
const code = javascriptGenerator.workspaceToCode(myWorkspace);
Para mais informações sobre os diferentes geradores de código oferecidos pelo Blockly e como acessá-los, consulte Visão geral do gerador de código.
Geradores de código de bloco
Cada bloco tem um gerador associado que define qual código gera. Um gerador de código de bloco precisa ser definido para cada linguagem que você quer gerar.
Este snippet de código define um gerador de código de bloco JavaScript para um movimento para a frente" bloco:
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 mais informações sobre como definir seus geradores de código de bloco, consulte Geradores de código de bloco.
Execução
Depois de gerar o código, você precisa descobrir como executá-lo. Decidir como executá-lo é muito específico do aplicativo e está fora do escopo da Blockly.
Para mais informações sobre maneiras de executar códigos, consulte Execução de código.