フィールド値を変換する

ほとんどのフィールド値は、コード文字列にすぐに連結できます。ただし、一部のフィールド値は、使用可能になるまでに追加の作業が必要になる場合があります。

文字列

文字列を連結するには、quote_ または multiline_quote_ で引用符で囲む必要があります。これらの関数は、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'));

変数

組み込み変数フィールドの場合、getFieldValue は変数名ではなく変数 ID を返します。実際の変数名を取得するには、コード生成ツールで getVariableName を呼び出します。これにより、一意で有効な名前が返されます。getVariableName は次のような機能を備えています。

  • ASCII 以外の文字を ASCII に変換します。これは、ユーザーが自分の言語で変数名を入力できるため必要です。たとえば、「متغير」は「_D9_85_D8_AA_D8_BA_D9_8A_D8_B1」に変換されます。
  • 変数名がプログラミング言語で定められたルールに従っていることを確認します。たとえば、スペースはアンダースコアに置き換えられ、数字で始まる変数名には接頭辞 my_ が追加されます。
  • 予約語やその他の変数名や関数名との競合を解決します。たとえば、forfor2 に変換します。
const identifier = generator.getVariableName(block.getFieldValue('VAR'));

組み込みのプルダウン フィールドの場合、getFieldValue は言語に依存しない文字列を返します。この文字列はコードで直接使用できない場合があります。たとえば、比較演算子を含むプルダウンは、'EQUALS''LESS''GREATER' を返します。これは、コードで使用されている文字列を検索するために使用できます。

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

チェックボックス

組み込みのチェックボックス フィールドの場合、getFieldValue'TRUE' または 'FALSE' を返します。使用方法は、チェックボックスの意味によって異なります。たとえば、コード生成中の分岐に使用できます。