La maggior parte dei valori di campo è pronta per essere concatenata immediatamente alla stringa di codice. Tuttavia, alcuni valori di campo richiedono un lavoro aggiuntivo prima di essere utilizzabili.
Stringa
Le stringhe devono essere racchiuse tra virgolette con quote_
o multiline_quote_
prima di poter essere concatenate. Queste funzioni eseguono la codifica dei caratteri specifica per la lingua, ad esempio sostituiscono '
con \'
in JavaScript.
// For a single line text field.
const str = generator.quote_(block.getFieldValue('STR'));
// For a multiline text field.
const str = generator.multiline_quote_(block.getFieldValue('STR'));
Variabili
Per il campo della variabile integrata, getFieldValue
restituisce un ID variabile, non un nome variabile. Per ottenere un nome di variabile effettivo, chiama getVariableName
nel generatore di codice. Verrà restituito un nome univoco e valido. Tra le altre cose, getVariableName
:
- Converte i caratteri non ASCII in ASCII. Questo è necessario perché gli utenti possono inserire i nomi delle variabili nella propria lingua. Ad esempio, trasforma
"
متغير
" in "_D9_85_D8_AA_D8_BA_D9_8A_D8_B1
". - Garantisce che i nomi delle variabili rispettino le regole stabilite dai linguaggi di programmazione.
Ad esempio, converte gli spazi in trattini bassi e aggiunge il prefisso
my_
ai nomi delle variabili che iniziano con una cifra. - Risolve i conflitti con parole riservate o altri nomi di variabili o funzioni.
Ad esempio, converte
for
infor2
.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));
Elenchi a discesa
Per il campo del menu a discesa integrato, getFieldValue
restituisce una stringa indipendente dalla lingua che potrebbe non essere direttamente utilizzabile nel codice. Ad esempio, un menu a discesa contenente operatori di confronto potrebbe restituire 'EQUALS'
, 'LESS'
o 'GREATER'
. Può essere utilizzato per cercare una stringa utilizzata nel codice.
const OPERATORS = {
EQUALS: '==',
LESS: '<',
GREATER: '>',
};
const operator = OPERATORS[block.getFieldValue('OPERATOR')];
Caselle di controllo
Per il campo della casella di controllo integrata, getFieldValue
restituisce 'TRUE'
o 'FALSE'
.
La modalità di utilizzo dipende dal significato della casella di controllo. Ad esempio, potresti usarlo per i rami durante la generazione del codice.