Sayı alanları

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ı

"number:" etiketli bir blok ve 100 olarak ayarlanmış bir sayı alanı.

Düzenleyici açıkken sayı alanı

Düzenlenen alanla aynı blok.

Daraltılmış bloktaki sayı alanı

Aynı blok daraltıldıktan sonra. "number: 100" etiketi ve daraltıldığını göstermek için tırtıklı bir sağ kenarı vardır.

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;
}

Doğrulayıcının çalışırken gösterildiği animasyonlu GIF. Kullanıcı 10 yazıp başka bir yeri tıkladığında alan 0 olarak ayarlanır. Kullanıcı 11 yazıp başka bir yeri tıkladığında alan 1 olarak ayarlanır.