speaklater egy Python modult, amely a lusta húrok fordítás. & Nbsp; Alapvetően kapsz egy tárgy, amely úgy tűnik, hogy a húr, de változik az értéke minden alkalommal az érték alapján értékelik a lehívható az Ön által megadott.
Például lehet egy globális lazy_gettext funkciót, ami visszaadja a lusta karakterlánc értékét a jelenlegi nyelvet.
Példa:
>>> From speaklater import make_lazy_string
>>> Sval = u'Hello világ "
>>> String = make_lazy_string (lambda: sval)
Ez a lusta karakterlánc értékelni fogja, hogy az érték a sval változó.
>>> Húr
lu'Hello világ "
>>> Unicode (string)
u'Hello világ "
>>> String.upper ()
u'HELLO WORLD "
Ha megváltoztatja az értéket, a lusta húr is változni fognak:
>>> Sval = u'Hallo Welt "
>>> String.upper ()
u'HALLO menü "
Ez különösen akkor hasznos, ha együtt egy szál helyi és gettext fordítás vagy dicts a fordítható húrok:
>>> From speaklater import make_lazy_gettext
>>> From threading import helyi
>>> L = helyi ()
>>> L.translations = {u'Yes ":" Ja "}
>>> Lazy_gettext = make_lazy_gettext (lambda: l.translations.get)
>>> Yes = lazy_gettext (u'Yes)
>>> Print yes
Ja
>>> L.translations [u'Yes '] = u'Si "
>>> Print yes
Si
Lazy húrok nincsenek igazi húrok így is, ha ez a fajta string egy függvény, ami elvégzi a példány ellenőrzés, nem fog sikerülni. Ebben az esetben meg kell kifejezetten átalakítani, unicode és / vagy string attól függően, hogy milyen string típusú lusta karakterlánc magában.
Ha szeretné ellenőrizni a húr lusta, akkor a is_lazy_string funkció:
>>> From speaklater import is_lazy_string
>>> Is_lazy_string (u'yes)
Hamis
>>> Is_lazy_string (igen)
Igaz
követelmények :
- Python
Hozzászólás nem található