Werte

Werteblöcke sind Blöcke mit Ausgabeverbindungen. Sie verhalten sich wie Werte (oder Ausdrücke) in einer textbasierten Sprache.

Wie alle Blöcke in Blockly können Wertblöcke in Codestrings umgewandelt werden, indem ein Blockcodegenerator definiert wird.

import {javascriptGenerator, Order} from 'blockly/javascript';

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

  // Return code.
  return ['my code string', Order.NONE];
}

Argumentstrings erfassen

Alle Blockcodegeneratoren erfordern das Sammeln der Feldwerte und das Erfassen des Codes der inneren Blöcke.

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

// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);

Wenn Sie mehrmals auf den Code eines inneren Blocks verweisen, sollten Sie dem Block Argument-Caching hinzufügen.

Rückgabecode

Der Rückgabetyp eines Wert-Blockcode-Generators ist ein Array, bei dem der erste Wert ein Codestring und der zweite Wert eine Priorität ist.

return ['my code string', Order.NONE];

Die Rangfolge wird gesteuert, wenn Klammern um Blockcode-Strings hinzugefügt werden. Weitere Informationen dazu, wie Sie festlegen, wann Klammern hinzugefügt werden, finden Sie in der Dokumentation zu Klammern.