Bir sayı alanı, value
olarak bir sayıyı, text
olarak da bir dizeyi depolar. value
, oluşturulurken alana verilen kısıtlamalar tarafından tanımlanan geçerli bir sayıdır. Metni, düzenleyicisine girilen herhangi bir dize olabilir.
Sayı alanı
Düzenleyici açıkken sayı alanı
Daraltılmış bloktaki sayı alanı
içerik üretimi
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');
}
};
Number oluşturucu, aşağıdakileri alır:
value
, sayıya dönüştürülmelidir. Aksi takdirde 0 kullanılır.
Serileştirme
JSON
Bir sayı alanının JSON'u şu şekilde görünür:
{
"fields": {
"FIELDNAME": 0
}
}
Burada FIELDNAME
, bir sayı alanına referans veren bir dizedir ve değer, alana uygulanacak değerdir. Değer, oluşturucu değeriyle aynı kurallara uyar.
XML
Bir sayı alanının XML'si şu şekilde görünür:
<field name="FIELDNAME">0</field>
field
düğümünün name
özelliği, bir sayı alanına referans veren bir dize içerir ve düğümün iç text
'si, alana uygulanacak value
'dir. İç metin değeri, oluşturucu değeriyle aynı kurallara uyar.
Sınırlamalar
Kısıtlamalar, alan tanımında veya setConstraints işlevi kullanılarak ayarlanabilir.
Minimum değer
min
değeri, alanın içerebileceği en küçük/en negatif değeri belirler.
Maksimum değer
max
değeri, alanın içerebileceği en büyük/en pozitif değeri belirler.
Yuvarlama
precision
, değeri en yakın duyarlılık katına yuvarlar. Bu, alanın yalnızca 0,01, 10, 42 vb .değerlerin katlarını kabul etmesini sağlamak için kullanılabilir.
Sık karşılaşılan kısıtlamalar
Pozitif sayılar
Alanınızın yalnızca pozitif sayıları kabul etmesini zorunlu kılmak için min
değerini 1 olarak ayarlayın.
Tam sayılar
Alanınızın yalnızca tam sayı kabul etmesini zorunlu kılmak için precision
değerini 1 olarak ayarlayın.
Sayı doğrulayıcı oluşturma
Sayı alanının değeri bir sayıdır. Bu nedenle, tüm doğrulayıcılar number
değerini kabul etmeli ve number
, null
veya undefined
değerini döndürmelidir.
Değerin tek veya çift olmasına bağlı olarak değeri 0 ya da 1 olarak değiştiren bir doğrulayıcı örneğini aşağıda bulabilirsiniz.
function(newValue) {
return newValue % 2;
}