يخزن حقل المتغير سلسلة كقيمتها والسلسلة كنص لها. القيمة هي معرف متغير، بينما النص هو اسم متغير.
حقل المتغير
حقل المتغيّر مفتوح للمحرِّر
حقل المتغيّر على كتلة مصغّرة
إنشاء الفيديوهات
غير مكتوب
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');
}
};
تستخدم الدالة الإنشائية للمتغير اسم متغير اختياري وvalidator اختيارية ومصفوفة اختيارية من أنواع المتغيرات ونوعًا افتراضيًا اختياريًا.
- يجب أن يكون اسم المتغيّر سلسلة. سيكون هذا اسم المتغير الأوّلي الذي يحمله الحقل. إذا كانت فارغة أو غير محددة، فسيتم إنشاء اسم فريد.
- يجب أن تكون أنواع المتغيرات مصفوفة من السلاسل. هذا يخبر الحقل بأنواع المتغيرات التي يمكن أن يحتفظ بها الحقل (أي أنواع المتغيرات التي يجب إضافتها إلى القائمة المنسدلة). وإذا كانت فارغة أو غير محددة، فسيتم قبول جميع أنواع المتغيرات (وإضافتها إلى القائمة المنسدلة).
- يجب أن يكون النوع التلقائي عبارة عن سلسلة. سيتم استخدامه عند إنشاء نموذج المتغير الأولي للحقل. إذا تم تحديد ذلك، فيجب تضمينه في صفيف أنواع المتغيرات. إذا كانت فارغة أو غير محددة، يتم تعيين هذه القيمة افتراضيًا على سلسلة فارغة، بمعنى أن المتغير الأولي ستتم كتابته بمرونة.
→ لمزيد من المعلومات حول الكتابة الدقيقة، راجع عمليات التحقق من النوع.
التسلسل
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;
}