Transformer les valeurs des champs

La plupart des valeurs de champ peuvent être immédiatement concaténées à votre chaîne de code. Toutefois, certaines valeurs de champ nécessitent un travail supplémentaire avant de pouvoir être utilisées.

Cordes

Les chaînes doivent être placées entre guillemets avec quote_ ou multiline_quote_ avant de pouvoir être concaténées. Ces fonctions effectuent une échappement de caractères spécifique à la langue, par exemple en remplaçant ' par \' en 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'));

Variables

Pour le champ de variable intégrée, getFieldValue renvoie un ID de variable, et non un nom de variable. Pour obtenir un nom de variable réel, appelez getVariableName dans le générateur de code. Cette commande renvoie un nom à la fois unique et légal. getVariableName, entre autres:

  • Convertit les caractères non ASCII en ASCII. Cela est nécessaire, car les utilisateurs peuvent saisir des noms de variables dans leur propre langue. Par exemple, il convertit "متغير" en "_D9_85_D8_AA_D8_BA_D9_8A_D8_B1".
  • Vérifie que les noms de variables respectent les règles définies par les langages de programmation. Par exemple, il convertit les espaces en traits de soulignement et ajoute le préfixe my_ aux noms de variable commençant par un chiffre.
  • Résout les conflits avec des mots réservés ou d'autres noms de variables ou de fonctions. Par exemple, il convertit for en for2.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

Pour le champ déroulant intégré, getFieldValue renvoie une chaîne neutre par rapport à la langue qui n'est peut-être pas directement utilisable dans le code. Par exemple, une liste déroulante contenant des opérateurs de comparaison peut renvoyer 'EQUALS', 'LESS' ou 'GREATER'. Vous pouvez l'utiliser pour rechercher une chaîne utilisée dans le code.

const OPERATORS = {
  EQUALS: '==',
  LESS: '<',
  GREATER: '>',
};
const operator = OPERATORS[block.getFieldValue('OPERATOR')];

Cases à cocher

Pour le champ de case à cocher intégré, getFieldValue renvoie 'TRUE' ou 'FALSE'. La façon dont vous l'utilisez dépend de la signification de la case à cocher. Par exemple, vous pouvez l'utiliser pour la ramification lors de la génération de code.