ช่องตัวแปรจะเก็บสตริงเป็นค่า และสตริงเป็นข้อความ โดยค่านี้คือรหัสของตัวแปร ขณะที่ข้อความคือชื่อของตัวแปร
ช่องตัวแปร
ช่องตัวแปรที่มีเครื่องมือแก้ไขเปิดอยู่
ช่องตัวแปรบนบล็อกที่ยุบอยู่
การสร้างวิดีโอ
ไม่ได้พิมพ์
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;
}