בשדה של מספר נשמרים מספר 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
צריך להפעיל Cast למספר. אם לא, ייעשה שימוש ב-0.
סריאליזציה
JSON
ה-JSON של שדה מספר נראה כך:
{
"fields": {
"FIELDNAME": 0
}
}
כאשר FIELDNAME
הוא מחרוזת שמפנה לשדה של מספר,
הערך הוא הערך שיש להחיל על השדה. הערך
תואם לאותם כללים כמו ערך ה-constructor.
XML
ה-XML של שדה מספר נראה כך:
<field name="FIELDNAME">0</field>
המאפיין name
של הצומת field
מכיל מחרוזת שמפנה למספר
וה-text
הפנימי של הצומת הוא value
שיש להחיל על השדה.
ערך הטקסט הפנימי תואם לאותם כללים כמו ערך ה-constructor.
מגבלות
ניתן להגדיר מגבלות בהגדרת השדה, או באמצעות setConstraints מותאמת אישית.
ערך מינימלי
הערך min
קובע את הערך הקטן/השלילי ביותר שמותר לשדה
מכילים.
ערך מקסימלי
הערך max
מגדיר את הערך הגדול/החיובי ביותר שמותר לשדה
מכילים.
עיגול
הפונקציה precision
מעגלת את הערך למכפלה הקרובה ביותר של דיוק. סוג הפריט יכול להיות
ששימשו כדי שהשדה יקבל רק כפולות של .01, 10, 42 וכו'.
מגבלות נפוצות
מספרים חיוביים
כדי לאלץ את השדה לקבל רק מספרים חיוביים, צריך להגדיר את הערך של min
כ-
1.
מספרים שלמים
כדי לאלץ את השדה לקבל רק מספרים שלמים, צריך להגדיר את הערך 1 בשדה precision
.
יצירת מאמת מספרים
הערך בשדה של מספר הוא מספר, לכן כל מאמת צריך לקבל את הערך number
וגם
הפונקציה מחזירה number
, null
או undefined
.
לפניכם דוגמה לכלי תיקוף שמשנה את הערך ל-0 או ל-1 בהתאם לשאלה אם הערך היה אי-זוגי או זוגי.
function(newValue) {
return newValue % 2;
}