| f | import weakref | f | import weakref |
| | | |
| class Borg: | | class Borg: |
| n | _all = [] | n | refs = [] |
| | | |
| def __init__(self, value=0): | | def __init__(self, value=0): |
| n | self._value = value | n | self.value = value |
| Borg._all.append(weakref.ref(self)) | | self.refs.append(weakref.ref(self)) |
| | | |
| def __str__(self): | | def __str__(self): |
| n | return str(self._value) | n | return str(self.value) |
| | | |
| def __iter__(self): | | def __iter__(self): |
| n | for ref in Borg._all: | n | for ref in self.refs: |
| inst = ref() | | obj = ref() |
| if inst is not None: | | if obj is not None: |
| yield inst._value | | yield obj.value |
| | | |
| n | def __iadd__(self, num): | n | def __iadd__(self, other): |
| for ref in Borg._all: | | for ref in self.refs: |
| inst = ref() | | obj = ref() |
| if inst is not None: | | if obj is not None: |
| inst._value += num | | obj.value += other |
| return self | | return self |
| | | |
| t | def __isub__(self, num): | t | def __isub__(self, other): |
| for ref in Borg._all: | | for ref in self.refs: |
| inst = ref() | | obj = ref() |
| if inst is not None: | | if obj is not None: |
| inst._value -= num | | obj.value -= other |
| return self | | return self |