Feldwerte transformieren

Die meisten Feldwerte können sofort mit Ihrem Codestring verknüpft werden. Bei einigen Feldwerten ist jedoch zusätzliche Arbeit erforderlich, bevor sie verwendet werden können.

Strings

Strings müssen entweder in quote_ oder multiline_quote_ eingeschlossen werden, bevor sie verkettet werden können. Diese Funktionen führen eine sprachspezifische Zeichenentstrickung durch, z. B. das Ersetzen von ' durch \' 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'));

Variablen

Für das integrierte Variablenfeld gibt getFieldValue eine Variablen-ID zurück, keinen Variablennamen. Rufen Sie im Codegenerator getVariableName auf, um den tatsächlichen Variablennamen zu erhalten. Dadurch wird ein eindeutiger und zulässiger Name zurückgegeben. getVariableName bietet unter anderem folgende Vorteile:

  • Konvertiert Nicht-ASCII-Zeichen in ASCII. Das ist notwendig, da Nutzer Variablennamen in ihrer eigenen Sprache eingeben können. Beispielsweise wird „متغير“ in „_D9_85_D8_AA_D8_BA_D9_8A_D8_B1“ umgewandelt.
  • Prüft, ob Variablennamen den von Programmiersprachen festgelegten Regeln entsprechen. So werden beispielsweise Leerzeichen in Unterstriche umgewandelt und Variablennamen, die mit einer Ziffer beginnen, erhalten das Präfix my_.
  • Löst Konflikte mit reservierten Wörtern oder anderen Variablen- oder Funktionsnamen. Beispielsweise wird for in for2 konvertiert.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

Für das integrierte Drop-down-Feld gibt getFieldValue einen sprachneutralen String zurück, der möglicherweise nicht direkt im Code verwendet werden kann. Ein Drop-down-Menü mit Vergleichsoperatoren kann beispielsweise 'EQUALS', 'LESS' oder 'GREATER' zurückgeben. So können Sie einen String suchen, der im Code verwendet wird.

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

Kästchen

Für das integrierte Kästchenfeld gibt getFieldValue den Wert 'TRUE' oder 'FALSE' zurück. Wie Sie das verwenden, hängt von der Bedeutung des Kästchens ab. Sie können sie beispielsweise beim Generieren von Code für Verzweigungen verwenden.