.
speaklater tembel çeviriler için dizeleri & nbsp sağlayan bir Python modülü, Temelde bir dize gibi görünüyor ama değerini değer sağlayan bir çağrılabilir göre değerlendirilir her zaman değiştiren bir nesne olsun.
Örneğin mevcut ayar dili değeri ile bir tembel bir dize döndürür küresel lazy_gettext işlevi olabilir.
Örnek:
>>> Speaklater ithalat make_lazy_string gelen
>>> Michael = u'Hello Dünya '
>>> Dize = make_lazy_string (lambda: michael)
Bu tembel dize michael değişkenin değerine değerlendirecektir.
>>> Dize
lu'Hello Dünya '
>>> Unicode (dize)
u'Hello Dünya '
>>> String.upper ()
u'HELLO DÜNYA '
Eğer değeri değiştirirseniz, tembel dize de değişecektir:
>>> Michael = u'Hallo Welt '
>>> String.upper ()
u'HALLO WELT '
Yerel parçacığı ve gettext çeviriler veya çevrilebilir dizeleri bloka ile kombine edildiğinde bu özellikle kullanışlıdır:
>>> Speaklater ithalat make_lazy_gettext gelen
>>> Parçacığı ithalat yerelden
>>> L = Yerel ()
>>> L.translations = {u'Yes ':' Evet '}
>>> Lazy_gettext = make_lazy_gettext (lambda l.translations.get)
>>> Evet = lazy_gettext (u'Yes ')
>>> Print evet
Ja
>>> L.translations [u'Yes '] = u'Si'
>>> Print evet
Si
Bir örnek denetimi gerçekleştiren bir fonksiyona dize bu tür geçmesi durumunda, başarısız olur, böylece tembel dizeleri gerçek dizeleri vardır. Bu durumda açıkça unicode ve / veya dize dize tembel kapsüller ne tür dize bağlı olan dönüştürmek zorunda.
Bir dize tembel olup olmadığını kontrol etmek için, is_lazy_string işlevini kullanabilirsiniz:
>>> Speaklater ithalat is_lazy_string gelen
>>> Is_lazy_string (u'yes ')
Yanlış
>>> Is_lazy_string (evet)
Doğru
Gereksinimler :
- Python
Yorum Bulunamadı