Sayı alanları

Bir sayı alanı, sayıyı value, dizeyi ise text olarak depolar. value Her zaman, 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" etiketine ve daraltıldığını göstermek için tırtıklı bir sağ kenara sahiptir.

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 hassasiyet 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ıyı çalışırken gösteren 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.