TemplateVariableInfo

Sorun bildir Kaynağı görüntüle Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Şablon değişkenlerini (yani BUILD dosyalarındaki $(VARIABLE) gibi dizeler tarafından referans verilebilen ve ctx.expand_make_variables tarafından genişletilen değişkenler) kapsar ve yerleşik kuralların belirli özelliklerinde örtülü olarak kullanılır.

TemplateVariableInfo, sağlanan değişkenleri belirten bir bağımsız değişken olarak dize-dize sözlükle adını taşıyan oluşturucusu çağrılarak oluşturulabilir.

Örnek: platform_common.TemplateVariableInfo({'FOO': 'bar'})

Üyeler

to_json

string TemplateVariableInfo.to_json()

Kullanımdan kaldırıldı. Bu API artık kullanılmıyor ve yakında tamamen kaldırılacak. Lütfen bu bilgileri kullanmayın. ---incompatible_struct_has_no_methods ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın.
Yapı parametresinden bir JSON dizesi oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (özyinelemeli olarak) dizeler, tam sayılar, boole değerleri, diğer yapılar, bu türlerin listesi veya dize anahtarları ve bu türlerin değerlerini içeren bir sözlükse çalışır. Dizelerdeki tırnak işaretleri ve yeni satırlar çıkış karakteriyle gösterilir. Ö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, yapıların dışındaki değerler için çalışan ve yapı alanı ad alanını kirletmeyen json.encode(x) veya json.encode_indent(x) işlevlerini kullanın.

to_proto

string TemplateVariableInfo.to_proto()

Kullanımdan kaldırıldı. Bu API artık kullanılmıyor ve yakında tamamen kaldırılacak. Lütfen bu bilgileri kullanmayın. ---incompatible_struct_has_no_methods ile devre dışı bırakılır. Kodunuzun bu özelliğin yakında kaldırılmasıyla uyumlu olduğunu doğrulamak için bu işareti kullanın.
Yapı parametresinden bir kısa mesaj oluşturur. Bu yöntem yalnızca tüm yapı öğeleri (özyinelemeli olarak) 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 çıkış karakteriyle gösterilir. Yapı anahtarları sıralı düzende 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) kullanın.

variables

dict TemplateVariableInfo.variables

Bu hedef tarafından tanımlanan make değişkenlerini, dize anahtarları ve dize değerleri içeren bir sözlük olarak döndürür.