I blocchi di valori sono blocchi con connessioni di output. Queste agiscono come valori (ovvero espressioni) in un linguaggio di testo.
Come tutti i blocchi in Blockly, i blocchi di valori possono essere convertiti in stringhe di codice la definizione di un generatore di codice a blocchi.
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];
}
Raccogli stringhe di argomenti
Tutti i generatori di codici a blocchi richiedono la raccolta dei valori dei campi e la raccolta del codice blocchi interni.
// Collect field values.
const fieldValue = block.getFieldValue('MY_FIELD');
// Collect inner block code strings.
const innerCode = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Se fai riferimento più volte al codice di un blocco interno, devi aggiungere memorizzare nella cache dell'argomento il tuo blocco.
Codice di ritorno
Il tipo restituito di un generatore di codici a blocchi di valori è un array in cui il primo value è una stringa di codice e il secondo valore è una precedenza.
return ['my code string', Order.NONE];
La precedenza controlla quando vengono aggiunte parentesi intorno alle stringhe con codice a blocchi. Consulta la documentazione relativa alle parentesi per ulteriori informazioni su come stabilire quando aggiungere le parentesi.