Codegenerierung

Bei der Codegenerierung werden die Blöcke eines Arbeitsbereichs in einen Code-String, der ausgeführt werden kann.

Die Codegenerierung ist äußerst wichtig, da sie es Ihren Blöcken ermöglicht, Aufgaben ausführen, z. B. arithmetische Ausdrücke auswerten, Zeichen verschieben durch ein Labyrinth gehen oder einen Onlineshop einrichten.

Blockly „läuft“ nicht direkt blockieren. Stattdessen generieren Sie Code-Strings und und diese dann umsetzen.

Codegeneratoren

Zum Generieren von Code verwenden Sie eine Codegenerator-Instanz.

Dieses Code-Snippet zeigt, wie JavaScript-Code für die Blöcke in einer Arbeitsbereich:

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

const code = javascriptGenerator.workspaceToCode(myWorkspace);

Weitere Informationen zu den verschiedenen Codegeneratoren von Blockly und wie Sie darauf zugreifen, finden Sie hier.

Blockcode-Generatoren

Jedem Block ist ein Blockcode-Generator zugeordnet, der definiert, welcher Code er verwendet. generiert. Für jede einzelne Sprache muss ein Blockcode-Generator definiert werden die Sie generieren möchten.

Dieses Code-Snippet definiert einen JavaScript-Blockcode-Generator für ein "move"-Tag, weiter Block:

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`;
}

Weitere Informationen zum Definieren von Blockcode-Generatoren finden Sie unter Blockcode-Generatoren

Ausführung

Nachdem Sie den Code generiert haben, müssen Sie herausfinden, wie er ausgeführt wird. Die Entscheidung, wie sie ausgeführt werden soll, ist sehr anwendungsspezifisch von Blockly.

Weitere Informationen zu Möglichkeiten zum Ausführen von Code finden Sie unter Codeausführung.