يخزِّن الحقل المتغيّر سلسلة كقيمة له، وسلسلة أخرى كنصه. قيمة العنصر هو رقم تعريف متغيّر، في حين أنّ النص هو اسم المتغيّر.
حقل متغيّر
حقل متغيّر مع فتح المحرِّر
حقل متغيّر في المربّع المُدمَج
الإنشاء
غير مصنّف
JSON
{
"type": "example_variable_untyped",
"message0": "variable: %1",
"args0": [
{
"type": "field_variable",
"name": "FIELDNAME",
"variable": "x"
}
]
}
JavaScript
Blockly.Blocks['example_variable_untyped'] = {
init: function() {
this.appendDummyInput()
.appendField('variable:')
.appendField(new Blockly.FieldVariable('x'), 'FIELDNAME');
}
};
مكتوب
JSON
{
"type": "example_variable_typed",
"message0": "variable: %1",
"args0": [
{
"type": "field_variable",
"name": "FIELDNAME",
"variable": "x",
"variableTypes": ["Number", "String"],
"defaultType": "Number"
}
]
}
JavaScript
Blockly.Blocks['example_variable_typed'] = {
init: function() {
this.appendDummyInput()
.appendField('variable:')
.appendField(new Blockly.FieldVariable(
'X',
null,
['Number', 'String'],
'Number'
), 'FIELDNAME');
}
};
يقبل مُنشئ المتغيّر اسم متغيّر اختياريًا، وأداة التحقّق اختيارية، وصفيفًا اختياريًا لأنواع المتغيّرات، ونوعًا تلقائيًا اختياريًا.
- يجب أن يكون اسم المتغيّر سلسلة. سيكون هذا هو اسم المتغيّر الأوّلي الذي يحتوي عليه الحقل. إذا كان القيمة فارغة أو غير محدّدة، سيتم إنشاء اسم فريد.
- يجب أن تكون أنواع المتغيّرات صفيفًا من السلاسل. يحدّد ذلك الحقل أنواع المتغيّرات التي يمكن أن يحتوي عليها الحقل (أي أنواع المتغيّرات التي يجب إضافتها إلى القائمة المنسدلة). إذا كان القيمة خالية أو غير محدّدة، سيتم قبول جميع أنواع المتغيّرات (وإضافتها إلى القائمة المنسدلة).
- يجب أن يكون النوع التلقائي سلسلة. سيتم استخدام هذا عند إنشاء ملف نموذج المتغيّر الأولي للحقل. إذا تم تحديد هذا الخيار، يجب تضمينه في مصفوفة أنواع المتغيّرات. إذا كانت القيمة فارغة أو غير محدّدة، يتم تلقائيًا تحويلها إلى سلسلة فارغة، ما يعني أنّ المتغيّر الأولي سيكون من النوع المرن.
→ لمزيد من المعلومات عن الكتابة الصارمة، يُرجى الاطّلاع على عمليات التحقّق من النوع.
نشر الحلقات على نحو متسلسِل
JSON
يظهر تنسيق JSON الخاص بحقل متغيّر على النحو التالي:
{
"fields": {
"FIELDNAME": {
"id": "QJD^+@[RVIwbLSZoDb:V"
}
}
}
حيث يكون FIELDNAME
سلسلة تشير إلى حقل متغيّر، و
تكون القيمة هي رقم تعريف المتغيّر الذي يشير إليه الحقل.
إذا كنت تستخدم هذا الحقل في مجموعة الأدوات، يمكنك أيضًا تحديد الاسم والنوع (اختياري) مباشرةً، لأنّه لن يتوفّر أي متغيّر يمكن الرجوع إليه.
{
"fields": {
"FIELDNAME": {
"name": "my_variable",
"type": "string"
}
}
}
XML
يظهر ملف XML الخاص بحقل متغيّر على النحو التالي:
<field name="VARIABLE" id="QJD^+@[RVIwbLSZoDb:V" variabletype="">name</field>
- تحتوي سمة
name
للعقدة على سلسلة تشير إلى حقل متغيّر. - تحتوي سمة
id
للعقدة على معرّف المتغيّر الذي يشير إليه الحقل. - تحتوي سمة
variabletype
للعقدة على نوع المتغيّر. يتّبع الرمز البرمجيvariabletype
القواعد نفسها التي تتّبعها مَعلمة النوع التلقائية لصانع الأشكال. - النص الداخلي للعقدة هو اسم المتغيّر. تتبع قيمة النص الداخلي القواعد نفسها التي تتبعها مَعلمة اسم المتغيّر في أداة الإنشاء.
إنشاء مدقّق متغيّر
قيمة الحقل المتغيّر هي سلسلة، لذا يجب أن تقبل أي أدوات تحقّق سلسلة و
تعرِض سلسلة أو null
أو undefined
.
في ما يلي مثال على مدقّق يقبل فقط بعض المتغيّرات المحدّدة مسبقًا كأحد الخيارات. يجب تحديد هذه المتغيّرات باستخدام الدالة Workspace.createVariable عند تحميل مساحة العمل.
function(newValue) {
var validIds = ['Worf', 'Riker', 'Picard'];
if (validIds.indexOf(newValue) == -1) {
return null;
}
return newValue;
}