تحويل قيم الحقول

تكون معظم قيم الحقول جاهزة لتسلسلها مع سلسلة الرمز البرمجي على الفور. ومع ذلك، تتطلّب بعض قيم الحقول إجراءً إضافيًا قبل أن تصبح قابلة للاستخدام.

السلاسل

يجب اقتباس السلاسل باستخدام 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 معرّف متغيّر، وليس اسم متغيّر. للحصول على اسم متغيّر فعلي، اتصل بالرقم 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'. تعتمد طريقة استخدام هذا الخيار على معنى مربّع الاختيار. على سبيل المثال، يمكنك استخدامها للتوغّل أثناء إنشاء الرمز.