Transformar valores de campo

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 em for2.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

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.