A maioria dos valores de campo está pronta para ser concatenada à string de código imediatamente. No entanto, alguns valores de campo exigem mais trabalho antes de serem usados.
Strings
As strings precisam ser entre aspas com quote_
ou multiline_quote_
antes de
ser concatenadas. Essas funções executam a codificação de caracteres
específica do idioma, como substituir '
por \'
em 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'));
Variáveis
Para o campo de variável integrada, getFieldValue
retorna um ID de variável, não um
nome de variável. Para receber o nome de uma variável real, chame getVariableName
no
gerador de código. Isso retorna um nome único e válido. Entre outras
coisas, getVariableName
:
- Converte os caracteres não ASCII em ASCII. Isso é necessário porque os usuários
podem inserir nomes de variáveis no próprio idioma. Por exemplo, ele converte
"
متغير
" em "_D9_85_D8_AA_D8_BA_D9_8A_D8_B1
". - Garante que os nomes das variáveis sigam as regras estabelecidas pelas linguagens de programação.
Por exemplo, ele converte espaços em sublinhados e adiciona o prefixo
my_
aos nomes de variáveis que começam com um dígito. - Resolve conflitos com palavras reservadas ou outros nomes de variáveis ou funções.
Por exemplo, ele converte
for
emfor2
.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));
Menus suspensos
Para o campo de menu suspenso integrado, getFieldValue
retorna uma string neutra em relação ao idioma
que pode não ser usada diretamente no código. Por exemplo, um menu suspenso
que contém operadores de comparação pode retornar 'EQUALS'
, 'LESS'
ou
'GREATER'
. Isso pode ser usado para procurar uma string usada no código.
const OPERATORS = {
EQUALS: '==',
LESS: '<',
GREATER: '>',
};
const operator = OPERATORS[block.getFieldValue('OPERATOR')];
Caixas de seleção
Para o campo de caixa de seleção integrado, getFieldValue
retorna 'TRUE'
ou 'FALSE'
.
A maneira de usar isso depende do significado da caixa de seleção. Por exemplo, você pode
usá-la para ramificar ao gerar código.