Spade
Mini Shell
| Directory:~$ /lib/python2.7/site-packages/future/builtins/ |
| [Home] [System Details] [Kill Me] |
�
,�]c@s.dZeZe�Zed�ZdgZdS(s�
This module provides a newnext() function in Python 2 that mimics the
behaviour of ``next()`` in Python 3, falling back to Python 2's
behaviour for
compatibility if this fails.
``newnext(iterator)`` calls the iterator's ``__next__()`` method if it
exists. If this
doesn't exist, it falls back to calling a ``next()`` method.
For example:
>>> class Odds(object):
... def __init__(self, start=1):
... self.value = start - 2
... def __next__(self): # note the Py3 interface
... self.value += 2
... return self.value
... def __iter__(self):
... return self
...
>>> iterator = Odds()
>>> next(iterator)
1
>>> next(iterator)
3
If you are defining your own custom iterator class as above, it is
preferable
to explicitly decorate the class with the @implements_iterator decorator
from
``future.utils`` as follows:
>>> @implements_iterator
... class Odds(object):
... # etc
... pass
This next() function is primarily for consuming iterators defined in Python
3
code elsewhere that we would like to run on Python 2 or 3.
cCs�ycy|j�SWnNtk
ray|j�SWqbtk
r]tdj|jj���qbXnXWn,tk
r�}|tkr�|�q�|SnXdS(s�
next(iterator[, default])
Return the next item from the iterator. If default is given and the
iterator
is exhausted, it is returned instead of raising StopIteration.
s'{0}' object is not an
iteratorN( t__next__tAttributeErrortnextt TypeErrortformatt __class__t__name__t
StopIterationt _SENTINEL(titeratortdefaultte((s;/usr/lib/python2.7/site-packages/future/builtins/newnext.pytnewnext+s
RN(t__doc__Rt
_builtin_nexttobjectRRt__all__(((s;/usr/lib/python2.7/site-packages/future/builtins/newnext.pyt<module>%s