Valeurs

Les blocs de valeur sont des blocs avec des connexions de sortie. Celles-ci agissent comme des valeurs (ou expressions) dans un langage textuel.

Comme tous les blocs de Blockly, les blocs de valeur peuvent être transformés en chaînes de code en définissant un générateur de code en bloc.

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

Collecter les chaînes d'argument

Tous les générateurs de code de bloc nécessitent de collecter les valeurs des champs et de collecter le code des blocs internes.

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

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

Si vous référencez plusieurs fois le code d'un bloc interne, vous devez ajouter la mise en cache des arguments à votre bloc.

Code renvoyé

Le type renvoyé d'un générateur de code en bloc de valeurs est un tableau dans lequel la première valeur est une chaîne de code et la deuxième une priorité.

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

Commandes de priorité lorsque des parenthèses sont ajoutées autour des chaînes de code bloc. Consultez la documentation sur les parenthèses pour savoir comment contrôler le moment où des parenthèses sont ajoutées.