يخزن حقل الأرقام رقمًا كـ value
، والسلسلة مثل text
. وتكون قيمة value
الخاصة بها دائمًا رقمًا صالحًا كما هو محدّد في القيود المحددة للحقل عند الإنشاء؛ ويمكن أن يكون نصه أي سلسلة يتم إدخالها في المُحرِّر.
حقل الأرقام
حقل الأرقام أثناء فتح المحرِّر
حقل الأرقام على القالب الذي تم تصغيره
إنشاء الفيديوهات
JSON
{
"type": "example_number",
"message0": "number: %1",
"args0": [
{
"type": "field_number",
"name": "FIELDNAME",
"value": 100,
"min": 0,
"max": 100,
"precision": 10
}
]
}
JavaScript
Blockly.Blocks['example_number'] = {
init: function() {
this.appendDummyInput()
.appendField("number:")
.appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
}
};
تستخدم الدالة الإنشائية للعدد ما يلي:
يجب تحويل value
إلى رقم. وإذا لم يكن لها قيمة 0، سيتم استخدام هذه القيمة.
التسلسل
JSON
يبدو تنسيق JSON لحقل الرقم على النحو التالي:
{
"fields": {
"FIELDNAME": 0
}
}
حيث تكون FIELDNAME
سلسلة تشير إلى حقل رقم، والقيمة هي القيمة المطلوب تطبيقها على الحقل. تتبع القيمة نفس القواعد مثل قيمة الدالة الإنشائية.
XML
يبدو نموذج XML لحقل الرقم على النحو التالي:
<field name="FIELDNAME">0</field>
تحتوي السمة name
الخاصة بالعقدة field
على سلسلة تشير إلى حقل رقم، وقيمة text
الداخلية للعقدة هي value
المطلوب تطبيقها على الحقل. تتبع قيمة النص الداخلي نفس القواعد مثل قيمة الدالة الإنشائية.
القيود
يمكن ضبط القيود في تعريف الحقل أو باستخدام دالة setConstraints.
أدنى قيمة
تحدد القيمة min
القيمة الأصغر/الأكثر سلبية التي يُسمح للحقل
بإدراجها.
أقصى قيمة
تحدد القيمة max
القيمة الأكبر/الأكثر إيجابية التي يُسمح للحقل
بإدراجها.
تقريب
تقرِّب precision
القيمة إلى أقرب مضاعف للدقة. ويمكن استخدام هذا لجعل الحقل لا يقبل إلا مضاعفات مثل .01 و10 و42 وما إلى ذلك.
القيود الشائعة
أرقام موجبة
لفرض قبول الحقل على الأرقام الموجبة فقط، اضبط القيمة min
على
1.
الأعداد الصحيحة
لفرض قبول الحقل للأعداد الصحيحة فقط، اضبط السمة precision
على 1.
إنشاء أداة التحقّق من الأرقام
تكون قيمة حقل الرقم عبارة عن رقم، لذا يجب أن تقبل أي أدوات تحقّق من صحة number
وأن تعرض number
أو null
أو undefined
.
فيما يلي مثال على أداة التحقق التي تغير القيمة لتصبح 0 أو 1 اعتمادًا على ما إذا كانت القيمة فردية أو زوجية.
function(newValue) {
return newValue % 2;
}