Şablon değişkenlerini, yani BUILD dosyalarında $(VARIABLE)
gibi dizelerle referans verilebilen ve ctx.expand_make_variables
tarafından genişletilen ve yerleşik kuralların belirli özelliklerinde dolaylı olarak kullanılabilen değişkenleri kapsar.
TemplateVariableInfo
, sağlanan değişkenleri belirten bir bağımsız değişken olarak dize-dize sözlükle birlikte kendi adını taşıyan kurucusu çağrılarak oluşturulabilir.
Örnek: platform_common.TemplateVariableInfo({'FOO': 'bar'})
Üyeler
to_json
string TemplateVariableInfo.to_json()
---incompatible_struct_has_no_methods
ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın. struct parametresinden bir JSON dizesi oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (yeniden doğrulama) dize, tam sayı, doğru/yanlış, diğer yapılar, bu türlerin listesi veya bu türlerin dize anahtar ve değerlerini içeren bir sözlükse çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar, kaçış karakteri ile belirtilir. Örnekler:
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"}}}
Desteği sonlandırıldı: Bunun yerine, struct'lar dışındaki değerler için çalışan ve struct alan ad alanını kirletmeyen json.encode(x) veya json.encode_indent(x) işlevlerini kullanın.
to_proto
string TemplateVariableInfo.to_proto()
---incompatible_struct_has_no_methods
ile devre dışı bırakılır. Kodunuzun yakında kaldırılacak olan özellikle uyumlu olup olmadığını doğrulamak için bu işareti kullanın. struct parametresinden kısa mesaj oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (yeniden doğrulama) dize, tam sayı, boole, diğer yapılar veya bu türlerin sözlükleri ya da listeleri ise çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar, kaçış karakteri ile belirtilir. Yapı anahtarları, sıralı sırada iterasyona tabi tutulur. Örnekler:
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 # }
Desteği sonlandırıldı: Bunun yerine proto.encode_text(x) işlevini kullanın.
variables
dict TemplateVariableInfo.variables