Browse Source

Iterable duck types

pull/40/head
Jure Šorn 5 years ago
parent
commit
bf33efc2f0
2 changed files with 4 additions and 8 deletions
  1. 6
      README.md
  2. 6
      index.html

6
README.md

@ -1207,8 +1207,7 @@ class MyCollection:
def __init__(self, a):
self.a = a
def __iter__(self):
for el in self.a:
yield el
return iter(self.a)
def __contains__(self, el):
return el in self.a
def __len__(self):
@ -1224,8 +1223,7 @@ class MySequence:
def __init__(self, a):
self.a = a
def __iter__(self):
for el in self.a:
yield el
return iter(self.a)
def __contains__(self, el):
return el in self.a
def __len__(self):

6
index.html

@ -1122,8 +1122,7 @@ lock = threading.RLock(); <span class="hljs-keyword">with</span> lock: ...
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, a)</span>:</span>
self.a = a
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__iter__</span><span class="hljs-params">(self)</span>:</span>
<span class="hljs-keyword">for</span> el <span class="hljs-keyword">in</span> self.a:
<span class="hljs-keyword">yield</span> el
<span class="hljs-keyword">return</span> iter(self.a)
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__contains__</span><span class="hljs-params">(self, el)</span>:</span>
<span class="hljs-keyword">return</span> el <span class="hljs-keyword">in</span> self.a
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__len__</span><span class="hljs-params">(self)</span>:</span>
@ -1139,8 +1138,7 @@ lock = threading.RLock(); <span class="hljs-keyword">with</span> lock: ...
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, a)</span>:</span>
self.a = a
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__iter__</span><span class="hljs-params">(self)</span>:</span>
<span class="hljs-keyword">for</span> el <span class="hljs-keyword">in</span> self.a:
<span class="hljs-keyword">yield</span> el
<span class="hljs-keyword">return</span> iter(self.a)
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__contains__</span><span class="hljs-params">(self, el)</span>:</span>
<span class="hljs-keyword">return</span> el <span class="hljs-keyword">in</span> self.a
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__len__</span><span class="hljs-params">(self)</span>:</span>

Loading…
Cancel
Save