تبدیل مقادیر فیلد

بیشتر مقادیر فیلد آماده هستند تا فوراً به رشته کد شما الحاق شوند. با این حال، برخی از مقادیر فیلد قبل از قابل استفاده شدن نیاز به کار اضافی دارند.

رشته ها

رشته ها باید با quote_ یا multiline_quote_ نقل قول شوند قبل از اینکه بتوان آنها را به هم متصل کرد. این توابع فرار از کاراکترهای خاص زبان را انجام می دهند، مانند جایگزینی ' با \' در جاوا اسکریپت.

// 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 یک شناسه متغیر برمی‌گرداند، نه نام متغیر. برای به دست آوردن نام متغیر واقعی، getVariableName در تولید کننده کد فراخوانی کنید. این یک نام منحصر به فرد و قانونی را برمی گرداند. در میان چیزهای دیگر، getVariableName :

  • کاراکترهای غیر ASCII را به ASCII تبدیل می کند. این امر ضروری است زیرا کاربران می توانند نام متغیرها را به زبان خود وارد کنند. برای مثال، « متغير » را به « _D9_85_D8_AA_D8_BA_D9_8A_D8_B1 » تبدیل می کند.
  • اطمینان حاصل می کند که نام متغیرها از قوانین تعیین شده توسط زبان های برنامه نویسی پیروی می کنند. برای مثال، فاصله ها را به زیرخط تبدیل می کند و پیشوند my_ به نام متغیرهایی که با یک رقم شروع می شوند اضافه می کند.
  • تضادها را با کلمات رزرو شده یا نام متغیر یا تابع دیگر برطرف می کند. به عنوان مثال، آن را for for2 تبدیل می کند.
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' را برمی‌گرداند. نحوه استفاده از این به معنای چک باکس بستگی دارد. به عنوان مثال، ممکن است از آن برای انشعاب در حین تولید کد استفاده کنید.