ฟิลด์ตัวแปรจะจัดเก็บสตริงเป็นค่า และสตริงเป็นข้อความ ค่าคือรหัสของตัวแปร ส่วนข้อความคือชื่อของตัวแปร
ฟิลด์ตัวแปร
ฟิลด์ตัวแปรที่เปิดเครื่องมือแก้ไข
ฟิลด์ตัวแปรในบล็อกที่ยุบ
การสร้างวิดีโอ
ไม่ได้พิมพ์
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');
}
};
ตัวสร้างตัวแปรจะรับชื่อตัวแปรที่ไม่บังคับ เครื่องมือตรวจสอบที่ไม่บังคับ อาร์เรย์ประเภทตัวแปรที่ไม่บังคับ และประเภทเริ่มต้นที่ไม่บังคับ
- ชื่อตัวแปรควรเป็นสตริง ชื่อนี้จะเป็นชื่อของ ตัวแปรเริ่มต้นที่ฟิลด์มี หากเป็นค่า Null หรือไม่ได้กำหนด ระบบจะสร้างชื่อที่ไม่ซ้ำกัน
- ประเภทตัวแปรควรเป็นอาร์เรย์ของสตริง ซึ่งจะบอกฟิลด์ว่าฟิลด์สามารถเก็บตัวแปรประเภทใดได้ (เช่น ตัวแปรประเภทใดที่จะ เพิ่มลงในเมนูแบบเลื่อนลง) หากเป็นค่า Null หรือไม่ได้กำหนด ระบบจะยอมรับตัวแปรทุกประเภท (และเพิ่มลงในเมนูแบบเลื่อนลง)
- ประเภทเริ่มต้นควรเป็นสตริง ระบบจะใช้ค่านี้เมื่อสร้างโมเดลตัวแปรเริ่มต้นของฟิลด์ หากมีการกำหนดค่านี้ ควรระบุค่านี้ในอาร์เรย์ประเภทตัวแปร หากเป็นค่า 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.getVariableMap().createVariable
เมื่อโหลดพื้นที่ทำงาน
function(newValue) {
var validIds = ['Worf', 'Riker', 'Picard'];
if (validIds.indexOf(newValue) == -1) {
return null;
}
return newValue;
}