proto

. Sorun bildir Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

. Protokol mesajı işleme modülü.

Üyeler

encode_text

string proto.encode_text(x)

struct bağımsız değişkeninin kodlamasını metin biçiminde protokol mesajı olarak döndürür. Veri yapısı yinelemeli bir biçimde dize, int, bol veya bool ya da bu türlerdeki struct'lar, diziler ve dikterlerden oluşmalıdır.

struct, mesaja dönüştürülür. Alanlar, ad sırasına göre gösterilir. Değeri Yok olan her struct alanı yoksayılır.

Bir dizi (liste veya unsur gibi), yinelenen bir alana dönüştürülür. Öğeleri dizi veya dikte olmamalıdır.

Dikte, "anahtar" adlı alanlara sahip tekrarlanan bir mesaj alanına dönüştürülür ve "value" gibi özellikler içerir. Girişler, yineleme (ekleme) sırasına göre gönderilir. Söylemin anahtarları dize veya int olmalıdır. Değerleri ise dizi veya dikte olmamalıdır. Örnekler:

proto.encode_text(struct(field=123))
# field: 123

proto.encode_text(struct(field=True))
# field: true

proto.encode_text(struct(field=[1, 2, 3]))
# field: 1
# field: 2
# field: 3

proto.encode_text(struct(field='text', ignored_field=None))
# field: "text"

proto.encode_text(struct(field=struct(inner_field='text', ignored_field=None)))
# field {
#   inner_field: "text"
# }

proto.encode_text(struct(field=[struct(inner_field=1), struct(inner_field=2)]))
# field {
#   inner_field: 1
# }
# field {
#   inner_field: 2
# }

proto.encode_text(struct(field=struct(inner_field=struct(inner_inner_field='text'))))
# field {
#    inner_field {
#     inner_inner_field: "text"
#   }
# }

proto.encode_text(struct(foo={4: 3, 2: 1}))
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Parametreler

Parametre Açıklama
x zorunlu