$(VARIABLE) trong tệp BUILD và được mở rộng bằng ctx.expand_make_variables và ngầm trong một số thuộc tính nhất định của các quy tắc tích hợp sẵn.TemplateVariableInfo có thể được tạo bằng cách gọi hàm khởi tạo cùng tên với một từ điển chuỗi thành chuỗi làm đối số chỉ định các biến được cung cấp.
Ví dụ: platform_common.TemplateVariableInfo({'FOO': 'bar'})
Hội viên
to_json
string TemplateVariableInfo.to_json()
---incompatible_struct_has_no_methods. Hãy sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc loại bỏ sắp tới. Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, boolean, các cấu trúc khác, danh sách các loại này hoặc từ điển có khoá chuỗi và giá trị của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
struct(key=123).to_json()
# {"key":123}
struct(key=True).to_json()
# {"key":true}
struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}
struct(key='text').to_json()
# {"key":"text"}
struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}
struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}
struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm hỏng không gian tên trường cấu trúc.
to_proto
string TemplateVariableInfo.to_proto()
---incompatible_struct_has_no_methods. Hãy sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc loại bỏ sắp tới. Tạo một thông báo văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, boolean, các cấu trúc khác hoặc từ điển hoặc danh sách các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
struct(key=123).to_proto()
# key: 123
struct(key=True).to_proto()
# key: true
struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3
struct(key='text').to_proto()
# key: "text"
struct(key=struct(inner_key='text')).to_proto()
# key {
# inner_key: "text"
# }
struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
# inner_key: 1
# }
# key {
# inner_key: 2
# }
struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
# inner_key {
# inner_inner_key: "text"
# }
# }
struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
# key: 4
# value: 3
# }
# foo: {
# key: 2
# value: 1
# }
Không dùng nữa: thay vào đó, hãy sử dụng proto.encode_text(x).
variables
dict TemplateVariableInfo.variables