Skip to content

Commit 0c8bdc6

Browse files
committed
Iterable duck types
1 parent 553f8dd commit 0c8bdc6

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1205,8 +1205,9 @@ class MyIterable:
12051205
def __init__(self, a):
12061206
self.a = a
12071207
def __iter__(self):
1208-
for el in self.a:
1209-
yield el
1208+
return iter(self.a)
1209+
def __contains__(self, el):
1210+
return el in self.a
12101211
```
12111212

12121213
```python

index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,8 +1144,9 @@
11441144
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, a)</span>:</span>
11451145
self.a = a
11461146
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__iter__</span><span class="hljs-params">(self)</span>:</span>
1147-
<span class="hljs-keyword">for</span> el <span class="hljs-keyword">in</span> self.a:
1148-
<span class="hljs-keyword">yield</span> el
1147+
<span class="hljs-keyword">return</span> iter(self.a)
1148+
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__contains__</span><span class="hljs-params">(self, el)</span>:</span>
1149+
<span class="hljs-keyword">return</span> el <span class="hljs-keyword">in</span> self.a
11491150
</code></pre></div></div>
11501151

11511152

0 commit comments

Comments
 (0)