Valori

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.