I blocchi interni sono quelli collegati agli input di valori e istruzioni. I singoli generatori di codici a blocchi devono gestire la concatenazione dei blocchi interni in modo che il codice venga aggiunto nella posizione corretta.
import {javascriptGenerator, Order} from 'blockly/javascript';
javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
// Generate innner block code.
const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
// Concatenate the string.
const code = `some code ${statement} ${value} some more code`;
// Return the code.
return code;
}
Input dell'istruzione
Il codice dei blocchi interni collegati agli input di istruzioni può essere generato utilizzando statementToCode
. Chiama il generatore di codici a blocchi del blocco di istruzione e gestisce il codice di rientro.
const statement = generator.statementToCode(block, 'MY_STATEMENT_INPUT');
Devi solo chiamare statementToCode
per il blocco interno collegato direttamente a un input dell'istruzione.
Input valore
Il codice dei blocchi interni collegati agli input di valori può essere generato utilizzando valueTocode
. Questo richiama il
generatore di codici a blocchi del blocco di valori e gestisce
l'aggiunta di parentesi intorno al codice dei blocchi interni, se necessario.
Per ulteriori informazioni su come controllarle, consulta la documentazione relativa alle parentesi.
const value = generator.valueToCode(block, 'MY_VALUE_INPUT', Order.ATOMIC);
Concatena il codice
Dopo aver ottenuto la stringa di codice del blocco interno, puoi concatenarla nel punto corretto con la stringa di codice.
const code = `some code ${statement} ${value} some more code`;
Codice di reso
I diversi tipi di blocchi richiedono che la stringa di codice venga restituita in modi diversi, quindi controlla le singole pagine per maggiori informazioni: