明細

ステートメント ブロックは、出力接続のないブロックです。これらは 記述できます。

Blockly のすべてのブロックと同様に、ステートメント ブロックもコードに変換できます。 ブロックコード ジェネレータを定義して、文字列を文字列に変換できます。

import {javascriptGenerator} from 'blockly/javascript';

javascriptGenerator.forBlock['custom_block'] = function(block, generator) {
  // Collect argument strings.
  const fieldValue = block.getFieldValue('MY_FIELD');
  const innerCode = generator.statementToCode(block, 'MY_STATEMENT_INPUT');

  // Return code.
  return 'my code string';
}

引数文字列を収集する

すべてのブロックコード生成ツールでは、 フィールドの値を収集し、 作成します

// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');

// Collect inner block code strings.
const innerCode = generator.statementToCode(block, 'MY_STATEMENT_INPUT');

内側のブロックのコードを複数回参照する場合は、 引数のキャッシュ保存をブロックに追加します。

戻り値

ステートメントのブロックコード ジェネレータの戻り値の型はコード文字列です。

return 'my code string';