بیشتر مقادیر فیلد آماده هستند تا فوراً به رشته کد شما الحاق شوند. با این حال، برخی از مقادیر فیلد قبل از قابل استفاده شدن نیاز به کار اضافی دارند.
رشته ها
رشته ها باید با 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'
را برمیگرداند. نحوه استفاده از این به معنای چک باکس بستگی دارد. به عنوان مثال، ممکن است از آن برای انشعاب در حین تولید کد استفاده کنید.