ช่องตัวแปร

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

ช่องตัวแปร

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

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

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

ไม่ได้พิมพ์

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

ตัวสร้างตัวแปรใช้ชื่อตัวแปรที่ไม่บังคับ validatorที่ไม่บังคับ อาร์เรย์ตัวเลือกของประเภทตัวแปร และประเภทเริ่มต้นที่ไม่บังคับ

  • ชื่อตัวแปรควรเป็นสตริง ตัวแปรนี้จะเป็นชื่อตัวแปรเริ่มต้นที่เก็บค่าไว้ หากเป็นค่าว่างหรือไม่กำหนดไว้ จะมีการสร้างชื่อที่ไม่ซ้ำกัน
  • ประเภทตัวแปรควรเป็นอาร์เรย์ของสตริง ซึ่งจะบอกประเภทตัวแปรที่ช่องเก็บได้ (เช่น ประเภทตัวแปรที่ควรเพิ่มลงในเมนูแบบเลื่อนลง) หากเป็น Null หรือไม่ได้ระบุ ระบบจะยอมรับตัวแปรทุกประเภท (และเพิ่มลงในเมนูแบบเลื่อนลง)
  • ประเภทเริ่มต้นควรเป็นสตริง ซึ่งจะใช้เมื่อสร้างโมเดลตัวแปรเริ่มต้นของฟิลด์ หากกำหนด ก็ควรจะรวมอยู่ในอาร์เรย์ประเภทตัวแปร ถ้าเป็นค่าว่างหรือไม่ได้กำหนด ค่าเริ่มต้นจะเป็นสตริงว่าง หมายความว่าตัวแปรเริ่มต้นจะมีการพิมพ์อย่างยืดหยุ่น

→ ดูข้อมูลเพิ่มเติมเกี่ยวกับการพิมพ์ที่เข้มงวดได้ที่การตรวจสอบประเภท

การทำให้เป็นอนุกรม

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