diff options
| author | Serjio Razin <3930855+mef1stofel@users.noreply.github.com> | 2019-02-11 16:27:35 +0300 |
|---|---|---|
| committer | Michael Howitz <mh@gocept.com> | 2019-02-12 08:55:53 +0100 |
| commit | 3042b9fa7c37aa0d0b61efcdb0b1a436fef9bf59 (patch) | |
| tree | 44de50914c378e62be66bcec905cf9dc522960c5 /docs | |
| parent | 968277194ded14242f6ede0555e3ec1e91f212b7 (diff) | |
| download | zope-interface-3042b9fa7c37aa0d0b61efcdb0b1a436fef9bf59.tar.gz | |
Update README.ru.rst
- Punctuation check and fix.
- Replace some figures of speech.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/README.ru.rst | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/docs/README.ru.rst b/docs/README.ru.rst index 2877867..8744dee 100644 --- a/docs/README.ru.rst +++ b/docs/README.ru.rst @@ -310,7 +310,7 @@ supported in Python 2.6 and later. ... def brag(): ... "Brag about being special" -Мы можем сделать созданный экземпляр foo специальным предоставив атрибуты +Мы можем сделать созданный экземпляр foo специальным, предоставив атрибуты `reason` и `brag`:: >>> foo.reason = 'I just am' @@ -403,7 +403,7 @@ supported in Python 2.6 and later. Объекты объявлений ------------------ -Когда мы объявляем интерфейсы мы создаем объект *объявления*. Когда мы +Когда мы объявляем интерфейсы, мы создаем объект *объявления*. Когда мы запрашиваем объявления возвращается объект объявления:: >>> type(zope.interface.implementedBy(Special)) @@ -411,7 +411,7 @@ supported in Python 2.6 and later. Объекты объявления и объекты интерфейсов во многом похожи друг на друга. На самом деле они даже имеют общий базовый класс. Важно понять, что они могут -использоваться там где в объявлениях ожидаются интерфейсы. Вот простой +использоваться там, где в объявлениях ожидаются интерфейсы. Вот простой пример:: >>> class Special2(Foo): @@ -467,7 +467,7 @@ supported in Python 2.6 and later. >>> IBaz['eek'].__doc__ 'eek in baz blah' -Мы были осторожны переопределяя eek совместимым путем. Когда интерфейс +Мы были осторожны, переопределяя eek совместимым путем. Когда интерфейс расширяется, расширенный интерфейс должен быть совместимым [#compat]_ с расширяемыми интерфейсами. @@ -483,8 +483,7 @@ supported in Python 2.6 and later. >>> IBaz.extends(IBaz) False -Иногда мы можем хотеть что бы они расширяли сами себя, но вместо этого -мы можем использовать `isOrExtends`:: +Если мы хотим видеть, что интерфейс расширяет сам себя,то мы можем использовать `isOrExtends`:: >>> IBaz.isOrExtends(IBaz) True @@ -494,7 +493,7 @@ supported in Python 2.6 and later. False Когда мы применяем итерацию к интерфейсу мы получаем все имена которые он -определяет включая имена определенные для базовых интерфейсов. Иногда +определяет, включая имена определенные для базовых интерфейсов. Иногда мы хотим получить *только* имена определенные интерфейсом напрямую. Для этого мы используем метод `names`:: @@ -505,7 +504,7 @@ supported in Python 2.6 and later. -------------------------------------------- Интерфейс может переопределять определения атрибутов из базовых интерфейсов. -Если два базовых интерфейса определяют один и тот же атрибут атрибут +Если два базовых интерфейса определяют один и тот же атрибут, то данный атрибут наследуется от более специфичного интерфейса. Для примера:: >>> class IBase(zope.interface.Interface): @@ -533,7 +532,7 @@ IBase:: Заметим, что это отличается от поиска в глубину. Иногда полезно узнать, что интерфейс определяет атрибут напрямую. Мы можем -использовать метод direct для получения напрямую определенных атрибутов:: +использовать метод `direct` для получения напрямую определенных атрибутов:: >>> IBase.direct('foo').__doc__ 'base foo doc' @@ -577,8 +576,8 @@ IBase:: Помеченные значения =================== -Интерфейсы и описания атрибутов поддерживают механизм расширения -заимствованный из UML и называемый "помеченные значения" который позволяет +Интерфейсы и описания атрибутов поддерживают механизм расширения, +заимствованный из UML и называемый "помеченные значения", который позволяет сохранять дополнительные данные:: >>> IFoo.setTaggedValue('date-modified', '2004-04-01') @@ -593,7 +592,7 @@ IBase:: >>> tags ['author', 'date-modified'] -Атрибуты функций конвертируются в помеченные значения когда создаются +Атрибуты функций конвертируются в помеченные значения, когда создаются определения атрибутов метода:: >>> class IBazFactory(zope.interface.Interface): @@ -615,10 +614,10 @@ IBase:: Инварианты ========== -Интерфейсы могут описывать условия которые должны быть соблюдены для объектов -которые их предоставляют. Эти условия описываются используя один или более -инвариантов. Инварианты - это вызываемые объекты которые будут вызваны -с объектом предоставляющим интерфейс в качестве параметра. Инвариант +Интерфейсы могут описывать условия, которые должны быть соблюдены для объектов, +которые их предоставляют. Эти условия описываются одним или несколькими +инвариантами. Инварианты - это вызываемые объекты, которые будут вызваны +с объектом, предоставляющим интерфейс в качестве параметра. Инвариант должен выкинуть исключение `Invalid` если условие не соблюдено. Например:: >>> class RangeError(zope.interface.Invalid): @@ -630,7 +629,7 @@ IBase:: ... if ob.max < ob.min: ... raise RangeError(ob) -Определив этот инвариант мы можем использовать его в определении интерфейсов:: +Определив этот инвариант, мы можем использовать его в определении интерфейсов:: >>> class IRange(zope.interface.Interface): ... min = zope.interface.Attribute("Lower bound") @@ -657,7 +656,7 @@ IBase:: RangeError: Range(2, 1) В случае нескольких инвариантов мы можем захотеть остановить проверку после -первой ошибки. Если мы передадим в `validateInvariants` пустой список тогда +первой ошибки. Если мы передадим в `validateInvariants` пустой список, тогда будет выкинуто единственное исключение `Invalid` со списком исключений как аргументом:: @@ -680,7 +679,7 @@ IBase:: ========= Интерфейсы могут быть вызваны для осуществления адаптации. Эта семантика -основана на функции adapt из PEP 246. Если объект не может быть адаптирован +основана на функции adapt из PEP 246. Если объект не может быть адаптирован, будет выкинут TypeError:: >>> class I(zope.interface.Interface): @@ -696,7 +695,7 @@ IBase:: >>> I(0, 'bob') 'bob' -Если объект уже реализует нужный интерфейс он будет возвращен:: +Если объект уже реализует нужный интерфейс, он будет возвращен:: >>> class C(object): ... zope.interface.implements(I) @@ -745,7 +744,7 @@ __adapt__ Интерфейсы реализуют метод __adapt__ из PEP 246. Этот метод обычно не вызывается напрямую. Он вызывается архитектурой адаптации из PEP 246 и методом __call__ интерфейсов. Метод адаптации отвечает за адаптацию объекта к -получателю. Версия по умолчанию возвращает None:: +получателю. Версия по умолчанию возвращает `None`:: >>> I.__adapt__(0) @@ -761,7 +760,7 @@ __call__ интерфейсов. Метод адаптации отвечает Функции для вызова адаптации могут быть добавлены (или удалены) для предоставления адаптации "на заказ". Мы установим глупую функцию которая адаптирует 0 к 42. Мы устанавливаем функцию просто добавляя ее к списку -adapter_hooks:: +`adapter_hooks`:: >>> from zope.interface.interface import adapter_hooks >>> def adapt_0_to_42(iface, obj): @@ -772,7 +771,7 @@ adapter_hooks:: >>> I.__adapt__(0) 42 -Функции должны возвращать либо адаптер, либо None если адаптер не найден. +Функции должны возвращать либо адаптер, либо `None`, если адаптер не найден. Функции могут быть удалены удалением их из списка:: >>> adapter_hooks.remove(adapt_0_to_42) |
