Değişken alanları

Değişken alanı, değeri olarak bir dizeyi ve metin olarak bir dizeyi depolar. İlgili içeriği oluşturmak için kullanılan değer, değişkenin kimliğidir, metin ise değişkenin adıdır.

Değişken alanı

Düzenleyici açıkken değişken alanı

Daraltılmış bloktaki değişken alanı

içerik üretimi

Yazılmadı

JSON

{
  "type": "example_variable_untyped",
  "message0": "variable: %1",
  "args0": [
    {
      "type": "field_variable",
      "name": "FIELDNAME",
      "variable": "x"
    }
  ]
}

JavaScript

Blockly.Blocks['example_variable_untyped'] = {
  init: function() {
    this.appendDummyInput()
        .appendField('variable:')
        .appendField(new Blockly.FieldVariable('x'), 'FIELDNAME');
  }
};

Yazıldı

JSON

{
  "type": "example_variable_typed",
  "message0": "variable: %1",
  "args0": [
    {
      "type": "field_variable",
      "name": "FIELDNAME",
      "variable": "x",
      "variableTypes": ["Number", "String"],
      "defaultType": "Number"
    }
  ]
}

JavaScript

Blockly.Blocks['example_variable_typed'] = {
  init: function() {
    this.appendDummyInput()
      .appendField('variable:')
      .appendField(new Blockly.FieldVariable(
          'X',
          null,
          ['Number', 'String'],
          'Number'
      ), 'FIELDNAME');
  }
};

Değişken kurucusu, isteğe bağlı bir değişken adı (isteğe bağlı) doğrulayıcı, isteğe bağlı bir değişken dizisi isteğe bağlı bir varsayılan türe göre seçilebilir.

  • Değişken adı bir dize olmalıdır. Bu, alanın içerdiği ilk değişken. Değer boşsa veya tanımlanmamışsa benzersiz bir ad oluşturulacaktır.
  • Değişken türleri bir dize dizisi olmalıdır. Bu, ilgili alana alanda ne tür değişkenler bulunabilir (ör. ekleyin). Boş veya tanımlanmamış ise tüm değişken türleri kabul edilmesi (ve açılır listeye eklenmesi) gerekir.
  • Varsayılan tür bir dize olmalıdır. Bu, alanın ilk değişken modeli. Bu tanımlanmışsa eklenmelidir iki kat daha fazla belirlenebilir. Boş veya tanımlanmamış ise bu değer varsayılan olarak ayarlanır ilk değişkenin esnek bir şekilde yazılacağı anlamına gelir.

→ Yüksek düzeyde yazma konusunda daha fazla bilgi için bkz. Tür Kontrolleri.

Serileştirme

JSON

Bir değişken alanının JSON dosyası aşağıdaki gibi görünür:

{
  "fields": {
    "FIELDNAME": {
      "id": "QJD^+@[RVIwbLSZoDb:V"
    }
  }
}

Burada FIELDNAME, değişken alanına referans veren bir dizedir ve değer, alanın başvuruda bulunduğu değişkenin kimliğidir.

Bu alanı araç kutusunda kullanıyorsanız grubun adını belirtmek de için kullanılabilecek hiçbir değişken olmayacağından, doğrudan yazın (isteğe bağlı) bir referans noktası olarak kabul edilir.

{
  "fields": {
    "FIELDNAME": {
      "name": "my_variable",
      "type": "string"
    }
  }
}

XML

Bir değişken alanı için XML aşağıdaki gibi görünür:

<field name="VARIABLE" id="QJD^+@[RVIwbLSZoDb:V" variabletype="">name</field>
  • Düğümün name özelliği, bir değişken alanına referans veren bir dize içeriyor.
  • Düğümün id özelliği, alandaki değişkenin kimliğini içerir referanslar.
  • Düğümün variabletype özelliği, değişkenin türünü içerir. İlgili içeriği oluşturmak için kullanılan variabletype, oluşturucunun varsayılan türü parametresiyle aynı kuralları uygular.
  • Düğümün iç metni, değişkenin adıdır. İç metin değeri oluşturucunun değişken adı parametresiyle aynı kurallara uyar.

Değişken doğrulayıcı oluşturma

Değişken alanlarının değeri bir dizedir. Dolayısıyla, tüm doğrulayıcılar bir dizeyi kabul etmelidir ve bir dize, null veya undefined döndürür.

Aşağıda, seçenekleri vardır. Bu değişkenlerin Workspace.createVariable işlevini kullanın.

function(newValue) {
  var validIds = ['Worf', 'Riker', 'Picard'];
  if (validIds.indexOf(newValue) == -1) {
    return null;
  }
  return newValue;
}