वैरिएबल फ़ील्ड

वैरिएबल फ़ील्ड में, स्ट्रिंग को उसकी वैल्यू और स्ट्रिंग को टेक्स्ट के तौर पर सेव किया जाता है. कॉन्टेंट बनाने वैल्यू किसी वैरिएबल का आईडी है, जबकि टेक्स्ट किसी वैरिएबल का नाम है.

वैरिएबल फ़ील्ड

एडिटर वाला वैरिएबल फ़ील्ड खुला है

छोटे किए गए ब्लॉक पर वैरिएबल फ़ील्ड

शॉर्ट वीडियो

टाइप नहीं किया गया है

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

टाइप किया गया

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

वैरिएबल कंस्ट्रक्टर एक वैकल्पिक वैरिएबल नाम लेता है, वैलिडेटर, वैरिएबल का वैकल्पिक कलेक्शन और एक वैकल्पिक डिफ़ॉल्ट प्रकार.

  • वैरिएबल का नाम एक स्ट्रिंग होना चाहिए. इसका नाम होगा फ़ील्ड में मौजूद शुरुआती वैरिएबल होता है. अगर यह शून्य है या यूनीक नाम के बारे में जानकारी नहीं है जनरेट हो जाएगा.
  • वैरिएबल टाइप स्ट्रिंग के कलेक्शन में होने चाहिए. यह फ़ील्ड को फ़ील्ड में किस तरह के वैरिएबल रखे जा सकते हैं (यानी कि किस तरह के वैरिएबल ड्रॉपडाउन में जोड़ें). अगर यह शून्य या तय नहीं है, तो सभी वैरिएबल स्वीकार नहीं किया जाएगा (और ड्रॉपडाउन में जोड़ा जाएगा).
  • डिफ़ॉल्ट टाइप एक स्ट्रिंग होनी चाहिए. इसका उपयोग फ़ील्ड के शुरुआती वैरिएबल मॉडल की जानकारी देता है. अगर यह तय किया गया है, तो इसे शामिल किया जाना चाहिए का इस्तेमाल किया जा सकता है. अगर यह शून्य या तय नहीं है, तो यह वैल्यू डिफ़ॉल्ट होती है से एक खाली स्ट्रिंग हो सकती है, जिसका मतलब है कि शुरुआती वैरिएबल सुविधाजनक तरीके से टाइप किया जाएगा.

→ सख्त टाइपिंग के बारे में ज़्यादा जानकारी के लिए, यह देखें चेक टाइप करें.

क्रम से लगाना

JSON

वैरिएबल फ़ील्ड के लिए JSON ऐसा दिखता है:

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

जहां FIELDNAME, वैरिएबल फ़ील्ड को रेफ़र करने वाली स्ट्रिंग है और वैल्यू, उस वैरिएबल का आईडी है जिसका रेफ़रंस फ़ील्ड में मौजूद है.

अगर टूलबॉक्स में इस फ़ील्ड का इस्तेमाल किया जा रहा है, तो चैनल का नाम भी बताया जा सकता है और (वैकल्पिक) सीधे टाइप करें, क्योंकि इसके लिए कोई वैरिएबल उपलब्ध नहीं होगा संदर्भ.

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

XML

वैरिएबल फ़ील्ड के लिए एक्सएमएल ऐसा दिखता है:

<field name="VARIABLE" id="QJD^+@[RVIwbLSZoDb:V" variabletype="">name</field>
  • नोड के name एट्रिब्यूट में, वैरिएबल फ़ील्ड के बारे में बताने वाली एक स्ट्रिंग मौजूद है.
  • नोड के id एट्रिब्यूट में, फ़ील्ड के वैरिएबल का आईडी शामिल होता है संदर्भ.
  • नोड के variabletype एट्रिब्यूट में वैरिएबल का टाइप शामिल होता है. कॉन्टेंट बनाने variabletype, कंस्ट्रक्टर के डिफ़ॉल्ट टाइप पैरामीटर जैसे नियमों का पालन करता है.
  • नोड का अंदरूनी टेक्स्ट, वैरिएबल का नाम होता है. अंदर के टेक्स्ट की वैल्यू उन नियमों का पालन करता है जो कंस्ट्रक्टर के वैरिएबल नाम पैरामीटर का पालन करते हैं.

वैरिएबल वैलिडेटर बनाना

वैरिएबल फ़ील्ड की वैल्यू एक स्ट्रिंग होती है, इसलिए किसी भी वैलिडेटर को कोई स्ट्रिंग, null, या undefined देगा.

यहां पुष्टि करने वाले ऐसे प्रोग्राम का उदाहरण दिया गया है जो पहले से तय किए गए कुछ वैरिएबल को ही के विकल्प. इन वैरिएबल को Workspace.createVariable फ़ाइल फ़ोल्डर के लोड होने पर फ़ंक्शन का इस्तेमाल करने की अनुमति देता है.

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