การสร้างโค้ด

การสร้างโค้ดคือกระบวนการเปลี่ยนบล็อกในพื้นที่ทํางานให้เป็นสตริงโค้ดที่ดําเนินการได้

การสร้างโค้ดมีความสําคัญอย่างยิ่ง เนื่องจากเป็นสิ่งทําให้บล็อกทําสิ่งต่างๆ ได้จริง เช่น ประเมินนิพจน์ทางคณิตศาสตร์ ย้ายตัวละครผ่านเขาวงกต หรือกําหนดค่าร้านค้าออนไลน์

คุณไม่สามารถ "เรียกใช้" บล็อกโดยตรง แต่ให้สร้างสตริงโค้ด แล้วเรียกใช้สตริงเหล่านั้นแทน

เครื่องมือสร้างรหัสภาษา

หากต้องการสร้างโค้ด คุณต้องเลือกภาษาแบบข้อความที่ต้องการสร้าง เนื่องจากแต่ละภาษามีเครื่องมือสร้างโค้ดของตัวเอง

เครื่องมือสร้างโค้ดภาษา (หรือที่เรียกกันทั่วไปว่าเครื่องมือสร้างโค้ด) คือคลาสที่จัดการกฎในการสร้างโค้ดสำหรับภาษาหนึ่งๆ โดยเฉพาะ แต่ไม่ใช่สำหรับแต่ละบล็อก เช่น จัดการเรื่องต่างๆ เช่น การจัดรูปแบบความคิดเห็น การเยื้องคำสั่ง และการยกข้อความ

Blockly มีเครื่องมือสร้างโค้ดในตัว 5 รายการ ดังนี้

  • JavaScript ES5
  • Python 3
  • Lua 5.1
  • Dart 2
  • PHP 7

หากรายการนี้ไม่มีภาษาที่คุณต้องการสร้างโค้ด คุณสามารถสร้างเครื่องมือสร้างรหัสภาษาที่กำหนดเองได้ ดูตัวอย่างง่ายๆ ได้ที่ Codelab สร้างเครื่องมือสร้างที่กำหนดเอง ซึ่งจะสร้างเครื่องมือสร้างโค้ดภาษา JSON ดูตัวอย่างที่ซับซ้อนมากขึ้นได้ที่เครื่องมือสร้างโค้ด JavaScript โปรดทราบว่าคุณต้องเขียนตัวสร้างโค้ดบล็อกสําหรับบล็อกในตัวที่ต้องการใช้ด้วย

เครื่องมือสร้างโค้ดบล็อก

แต่ละบล็อกมีหน้าที่สร้างโค้ดของตนเอง เมื่อสร้างบล็อก คุณจะต้องเขียนเครื่องมือสร้างโค้ดบล็อกแยกต่างหากสำหรับแต่ละภาษาที่ต้องการรองรับ

เครื่องมือสร้างโค้ดบล็อกคือฟังก์ชันที่แสดงผลโค้ดของบล็อกนั้นในรูปแบบสตริง เช่น บล็อกที่เปรียบเทียบตัวเลข 2 รายการจะแสดงผลสตริงในรูปแบบ 'a < b' และบล็อกที่แสดงคำสั่ง if จะแสดงผลสตริงในรูปแบบ 'if (...) {\n...\n};\n'

import {javascriptGenerator} from 'blockly/javascript';
import {pythonGenerator} from 'blockly/python';

// Write block-code generators for JavaScript and Python.
javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) { /* ... */ };
pythonGenerator.forBlock['my_custom_block'] = function(block, generator) { /* ... */ };

เครื่องมือสร้างโค้ดบล็อกจะเรียกใช้โดยเครื่องมือสร้างโค้ดภาษา

ดูข้อมูลเพิ่มเติมได้ที่เครื่องมือสร้าง

สร้างและเรียกใช้โค้ด

แอปพลิเคชันจะสร้างรหัสได้ทุกเมื่อ เช่น อาจมีการสร้างโค้ดเมื่อผู้ใช้ปลายทางคลิกปุ่มหรือทุกครั้งที่ผู้ใช้ทําการเปลี่ยนแปลง

หลังจากสร้างโค้ดแล้ว คุณต้องหาวิธีเรียกใช้ การเลือกวิธีดำเนินการจะขึ้นอยู่กับแอปพลิเคชันนั้นๆ และอยู่นอกขอบเขตของ Blockly

ดูข้อมูลเพิ่มเติมได้ที่สร้างและเรียกใช้โค้ด