Şablon değişkenlerini, yani BUILD dosyalarında $(VARIABLE)
gibi dizelerle referans verilebilen, ctx.expand_make_variables
tarafından ve yerleşik kuralların belirli özelliklerinde dolaylı olarak genişletilebilen değişkenleri kapsüller.
TemplateVariableInfo
, aynı ada sahip kurucusu, sağlanan değişkenleri belirten bir bağımsız değişken olarak dizeden dizeye dizesiyle çağırarak 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ıldı. Kodunuzun yakında kaldırılacak olan işlevlerle 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 kod dışına alınır. Ö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"}}}
Kullanımdan kaldırıldı: Bunun yerine, structs dışındaki değerler için çalışan ve struct alanı ad alanını kirletmeyen json.encode(x) veya json.encode_indent(x) yöntemini kullanın.
to_proto
string TemplateVariableInfo.to_proto()
---incompatible_struct_has_no_methods
ile devre dışı bırakıldı. Kodunuzun, kaldırılma olasılığı yüksek olan içerikle uyumlu olduğunu doğrulamak için bu işareti kullanın. struct parametresinden kısa mesaj oluşturur. Bu yöntem yalnızca tüm struct öğeleri (yinelemeli) dize, int, boole, diğer struct veya dikt ya da bu türlerin listeleriyse çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar, kaçış karakteri ile belirtilir. Yapı anahtarları, sıralı olarak yinelenir. Ö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