ช่องตัวแปร

ช่องตัวแปรจะจัดเก็บสตริงเป็นค่าและสตริงเป็นข้อความ value คือรหัสของตัวแปร ส่วนข้อความคือชื่อของตัวแปร

ช่องตัวแปร

ช่องตัวแปรที่มีตัวแก้ไขเปิดอยู่

ช่องตัวแปรในบล็อกที่ยุบ

การสร้างวิดีโอ

ไม่ได้พิมพ์

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

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