Sayı alanları

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ı

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

Düzenleyicinin açık olduğu sayı alanı

Düzenlenen alanın bulunduğu blok.

Daraltılmış bloktaki sayı alanı

Aynı blok daraltıldıktan sonra. "sayı: 100" etiketine ve daraltıldığını gösteren 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');
  }
};

Sayı kurucusu aşağıdakileri alır:

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

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.