Sayı alanları, value
olarak bir sayı ve text
olarak bir dize depolar. value
, her zaman oluşturulurken alana verilen kısıtlamalar tarafından tanımlanan geçerli bir sayıdır; metni, düzenleyicide girilen herhangi bir dize olabilir.
Sayı alanı
Düzenleyicinin açık olduğu 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');
}
};
Sayı kurucusu aşağıdakileri alır:
- isteğe bağlı
value
- isteğe bağlı min
- isteğe bağlı max
- isteğe bağlı bir hassasiyet
- isteğe bağlı bir doğrulayıcı
value
bir sayıya dönüştürülmelidir. Aksi takdirde 0 kullanılır.
Serileştirme
JSON
Bir sayı alanının JSON'u şöyle görünür:
{
"fields": {
"FIELDNAME": 0
}
}
Burada FIELDNAME
, bir sayı alanına atıfta bulunan bir dizedir ve değer, alana uygulanacak değerdir. Değer, kurucu değerle aynı kurallara uyar.
XML
Bir sayı alanının XML'i ş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
özelliği, alana uygulanacak value
'tır. İç metin değeri, kurucu 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çermesine izin verilen en küçük/en negatif değeri belirler.
Maksimum değer
max
değeri, alanın içermesine izin verilen en büyük/en pozitif değeri belirler.
Yuvarlama
precision
, değeri hassasiyetin en yakın 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ı yalnızca pozitif sayıları kabul etmeye zorlamak için min
değerini 1 olarak ayarlayın.
Tam sayılar
Alanınızı yalnızca tam sayıları kabul edecek şekilde zorlamak için precision
değerini 1 olarak ayarlayın.
Sayı doğrulayıcı oluşturma
Sayı alanının değeri bir sayı olduğundan tüm doğrulayıcılar number
değerini kabul etmeli ve number
, null
veya undefined
döndürmelidir.
Aşağıda, değerin tek veya çift olmasına bağlı olarak değeri 0 veya 1 olarak değiştiren bir doğrulayıcı örneği verilmiştir.
function(newValue) {
return newValue % 2;
}