程式碼生成

產生程式碼是將工作區區塊轉換成 程式碼字串。

程式碼生成極為重要,因為這樣可讓區塊 實際「操作」的方法,例如評估算術運算式、移動字元 或是架設線上商店!

Blockly 不「執行」直接封鎖相反地,您可以產生程式碼字串 然後加以執行

程式碼產生器

如要產生程式碼,請使用程式碼產生器例項。

這個程式碼片段說明如何產生 JavaScript 程式碼,以用於 工作區:

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

const code = javascriptGenerator.workspaceToCode(myWorkspace);

進一步瞭解 Blockly 提供的不同程式碼產生器 以及使用方式,請參閱「程式碼產生器總覽」。

區塊程式碼產生器

每個區塊都有相關聯的區塊程式碼產生器,可定義要使用的程式碼 產生的結果。必須為每個語言定義區塊程式碼產生器 想要產生的報表

這段程式碼定義了執行「move」動作的 JavaScript 區塊程式碼產生器 轉寄」區塊:

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

如要進一步瞭解如何定義區塊程式碼產生器,請參閱 區塊程式碼產生器

執行

產生程式碼後,您需要瞭解執行方式。 決定執行方式的方法會因應用程式而異,而且不在範圍之內 方塊

如要進一步瞭解執行程式碼的方式,請參閱 程式碼執行