Les blocs de valeur sont des blocs avec des connexions de sortie. Elles agissent comme des valeurs (aussi appelées expressions) dans un langage textuel.
Comme tous les blocs dans Blockly, les blocs de valeur peuvent être transformés en chaînes de code en définir un générateur de code de 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 des chaînes d'argument
Tous les générateurs de code de bloc collecter les valeurs des champs et le code de 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 mise en cache des arguments dans votre bloc.
Code renvoyé
Le type renvoyé d'un générateur de code de bloc de valeurs est un tableau dans lequel le premier valeur est une chaîne de code et la seconde valeur est une priorité.
return ['my code string', Order.NONE];
Le paramètre de priorité permet de contrôler l'ajout de parenthèses autour des chaînes de code de bloc. Consultez la documentation sur les parenthèses pour plus d'informations sur comment contrôler quand les parenthèses sont ajoutées.