Tạo mã là quá trình chuyển các khối trên không gian làm việc thành một chuỗi mã có thể thực thi.
Việc tạo mã cực kỳ quan trọng vì nó cho phép các khối thực sự làm những việc như đánh giá biểu thức số học, di chuyển một nhân vật qua mê cung hoặc định cấu hình một cửa hàng trực tuyến!
Bạn không thể trực tiếp "chạy" các khối. Thay vào đó, bạn tạo các chuỗi mã rồi thực thi các chuỗi đó.
Trình tạo mã ngôn ngữ
Để tạo mã, bạn phải chọn ngôn ngữ dựa trên văn bản mà bạn muốn tạo. Điều này là do mỗi ngôn ngữ có trình tạo mã riêng.
Trình tạo mã ngôn ngữ (thường gọi là trình tạo mã) là một lớp xử lý các quy tắc tạo mã dành riêng cho một ngôn ngữ nhất định, nhưng không dành riêng cho một khối riêng lẻ. Ví dụ: trình xử lý này xử lý các thao tác như định dạng nhận xét, thụt lề câu lệnh và trích dẫn chuỗi.
Blockly cung cấp 5 trình tạo mã tích hợp:
- JavaScript ES5
- Python 3
- Lua 5.1
- Dart 2
- PHP 7
Nếu danh sách này không bao gồm ngôn ngữ mà bạn muốn tạo mã, bạn có thể tạo trình tạo mã ngôn ngữ tuỳ chỉnh. Để biết ví dụ đơn giản, hãy xem lớp học lập trình Tạo trình tạo tuỳ chỉnh. Lớp học này sẽ tạo trình tạo mã ngôn ngữ JSON. Để biết ví dụ phức tạp hơn, hãy xem trình tạo mã JavaScript. Xin lưu ý rằng bạn cũng cần viết trình tạo mã khối cho mọi khối tích hợp mà bạn muốn sử dụng.
Trình tạo mã khối
Mỗi khối chịu trách nhiệm tạo mã riêng. Khi tạo một khối, bạn cần viết một trình tạo mã khối riêng cho từng ngôn ngữ mà bạn muốn hỗ trợ.
Trình tạo mã khối là một hàm trả về mã cho khối đó dưới dạng một chuỗi. Ví dụ: một khối so sánh hai số sẽ trả về một chuỗi có dạng 'a < b'
và một khối đại diện cho câu lệnh if sẽ trả về một chuỗi có dạng '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) { /* ... */ };
Trình tạo mã khối được gọi bởi trình tạo mã ngôn ngữ.
Để biết thêm thông tin, hãy xem phần Trình tạo mã khối.
Tạo và chạy mã
Ứng dụng của bạn có thể tạo mã bất cứ lúc nào. Ví dụ: hàm này có thể tạo mã khi người dùng cuối nhấp vào một nút hoặc mỗi khi người dùng thực hiện thay đổi.
Sau khi tạo mã, bạn cần tìm hiểu cách thực thi mã đó. Việc quyết định cách thực thi hàm này phụ thuộc vào từng ứng dụng và nằm ngoài phạm vi của Blockly.
Để biết thêm thông tin, hãy xem phần Tạo và chạy mã.