שינוי ערכי השדות

רוב ערכי השדות מוכנים לשרשור למחרוזת הקוד באופן מיידי. עם זאת, חלק מערכי השדות דורשים עבודה נוספת לפני שאפשר להשתמש בהם.

מיתרים

כדי שאפשר יהיה לשרשר מחרוזות, צריך להוסיף להן קווים עליונים (quotation marks) עם quote_ או multiline_quote_. הפונקציות האלה מבצעות בריחה מסימן (escape) ספציפי לשפה, למשל החלפת ' ב-\' ב-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 מחזיר מזהה משתנה ולא שם משתנה. כדי לקבל שם משתנה בפועל, צריך להפעיל את getVariableName ב-code generator. הפונקציה מחזירה שם ייחודי וחוקי. בין היתר, 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'. האופן שבו משתמשים באפשרות הזו תלוי במשמעות של תיבת הסימון. לדוגמה, אפשר להשתמש בו להסתעפות בזמן יצירת קוד.