Hầu hết các giá trị trường đều sẵn sàng được nối vào chuỗi mã của bạn ngay lập tức. Tuy nhiên, một số giá trị trường cần thêm thao tác thì mới có thể sử dụng được.
Chuỗi
Bạn cần phải đặt chuỗi trong dấu ngoặc kép bằng quote_
hoặc multiline_quote_
thì mới có thể nối các chuỗi với nhau. Các hàm này thực hiện việc thoát ký tự theo ngôn ngữ cụ thể, chẳng hạn như thay thế '
bằng \'
trong JavaScript.
// For a single line text field.
const str = generator.quote_(block.getFieldValue('STR'));
// For a multiline text field.
const str = generator.multiline_quote_(block.getFieldValue('STR'));
Biến
Đối với trường biến tích hợp, getFieldValue
trả về mã nhận dạng biến, chứ không phải tên biến. Để lấy tên biến thực tế, hãy gọi getVariableName
trong trình tạo mã. Thao tác này sẽ trả về một tên vừa duy nhất vừa hợp pháp. Ngoài ra, getVariableName
:
- Chuyển đổi các ký tự không phải ASCII thành ASCII. Điều này là cần thiết vì người dùng có thể nhập tên biến bằng ngôn ngữ của họ. Ví dụ: hàm này chuyển đổi "
متغير
" thành "_D9_85_D8_AA_D8_BA_D9_8A_D8_B1
". - Đảm bảo tên biến tuân theo các quy tắc do ngôn ngữ lập trình đặt ra.
Ví dụ: hàm này chuyển đổi dấu cách thành dấu gạch dưới và thêm tiền tố
my_
vào tên biến bắt đầu bằng chữ số. - Giải quyết xung đột với các từ dành riêng hoặc tên biến hoặc hàm khác.
Ví dụ: hàm này chuyển đổi
for
thànhfor2
.
const identifier = generator.getVariableName(block.getFieldValue('VAR'));
Trình đơn thả xuống
Đối với trường thả xuống tích hợp, getFieldValue
trả về một chuỗi trung lập về ngôn ngữ có thể không sử dụng được trực tiếp trong mã. Ví dụ: một trình đơn thả xuống chứa các toán tử so sánh có thể trả về 'EQUALS'
, 'LESS'
hoặc 'GREATER'
. Bạn có thể dùng hàm này để tra cứu một chuỗi được dùng trong mã.
const OPERATORS = {
EQUALS: '==',
LESS: '<',
GREATER: '>',
};
const operator = OPERATORS[block.getFieldValue('OPERATOR')];
Hộp kiểm
Đối với trường hộp đánh dấu tích hợp, getFieldValue
trả về 'TRUE'
hoặc 'FALSE'
.
Cách bạn sử dụng thuộc tính này phụ thuộc vào ý nghĩa của hộp đánh dấu. Ví dụ: bạn có thể sử dụng hàm này để phân nhánh trong khi tạo mã.