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
enfor2
.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));
Menus déroulants
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.