يخزِّن حقل رقم رقمًا ك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
اختيارية- min اختياري
- الحدّ الأقصى الاختياري
- دقة اختيارية
- مدقّق اختياري
يجب تحويل value
إلى رقم. وإذا لم يكن الأمر كذلك، سيتم استخدام القيمة 0.
نشر الحلقات على نحو متسلسِل
JSON
يظهر تنسيق JSON الخاص بحقل رقمي على النحو التالي:
{
"fields": {
"FIELDNAME": 0
}
}
حيث FIELDNAME
سلسلة تشير إلى حقل رقمي، و
القيمة هي القيمة التي سيتم تطبيقها على الحقل. تتبع القيمة
القواعد نفسها المتّبعة في قيمة الدالة الإنشائية.
XML
يظهر ملف XML الخاص بحقل رقم على النحو التالي:
<field name="FIELDNAME">0</field>
تحتوي سمة name
الخاصة بعقدة field
على سلسلة تشير إلى حقل عدد، وtext
الداخلي للعقدة هو value
المطلوب تطبيقه على الحقل. تلتزم قيمة
النص الداخلي بالقواعد نفسها المتّبعة في قيمة المنشئ.
القيود
يمكن ضبط القيود في تعريف الحقل، أو باستخدام الدالة setConstraints.
أدنى قيمة
تُحدِّد القيمة min
أصغر قيمة/أصغر قيمة سلبية يُسمح للحقل باستخدامها.
أقصى قيمة
تُحدِّد قيمة max
أكبر قيمة أو القيمة الأكثر إيجابية يُسمح للحقل باستخدامها.
التقريب
تعمل دالة precision
على تقريب القيمة إلى أقرب مضاعف لدقتها. يمكن استخدام هذا الإجراء
لجعل الحقل يقبل فقط مضاعفات 0 .01 أو 10 أو 42 أو غير ذلك.
القيود الشائعة
الأرقام الموجبة
لفرض قبول الحقل للأرقام الموجبة فقط، اضبط قيمة min
على
1.
الأعداد الصحيحة
لفرض قبول الحقل للأرقام الصحيحة فقط، اضبط precision
على 1.
إنشاء أداة التحقّق من الأرقام
قيمة حقل الأرقام هي رقم، لذا يجب أن تقبل أي أدوات تحقّق القيمة number
و
تُعرِض القيمة number
أو null
أو undefined
.
في ما يلي مثال على مدقّق يغيّر القيمة لتكون إما 0 أو 1 استنادًا إلى ما إذا كانت القيمة فردية أو زوجية.
function(newValue) {
return newValue % 2;
}