%PDF- %PDF-
Direktori : /proc/self/root/opt/alt/python27/lib/python2.7/site-packages/future/builtins/ |
Current File : //proc/self/root/opt/alt/python27/lib/python2.7/site-packages/future/builtins/newnext.pyc |
� �A�[c @ s. d Z e Z e � Z e d � Z d g Z d S( 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. c C s� yc y | j � SWnN t k ra y | j � SWqb t k r] t d j | j j � � � qb Xn XWn, t k r� } | t k r� | � q� | Sn Xd S( 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__t AttributeErrort nextt TypeErrort formatt __class__t __name__t StopIterationt _SENTINEL( t iteratort defaultt e( ( sH /opt/alt/python27/lib/python2.7/site-packages/future/builtins/newnext.pyt newnext+ s R N( t __doc__R t _builtin_nextt objectR R t __all__( ( ( sH /opt/alt/python27/lib/python2.7/site-packages/future/builtins/newnext.pyt <module>% s