يخزّن حقل المتغيّر سلسلة كقيمة له، وسلسلة كنص له. القيمة هي رقم تعريف متغيّر، بينما النص هو اسم متغيّر.
حقل المتغيّر

حقل المتغيّر مع فتح المحرّر

حقل المتغيّر في كتلة مصغّرة

الإنشاء
بدون نوع
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.getVariableMap().createVariable
عند تحميل مساحة العمل.
function(newValue) {
var validIds = ['Worf', 'Riker', 'Picard'];
if (validIds.indexOf(newValue) == -1) {
return null;
}
return newValue;
}
