U
vig @ sx d dl mZ d dlmZmZ d dlmZmZ d dlm Z d dl
mZ d
eee ee eej
ee ddd Zd gZdS ) )maxsize)IteratorOptional)
Observableabc)MultipleAssignmentDisposable)CurrentThreadSchedulerN)startstopstep schedulerreturnc s |dkrt n|}|dkrdn|}|dkr:|dkr:t| n |dkrNt| | nt| || dtjt ttj tjd fdd
}t|S )a Generates an observable sequence of integral numbers within a
specified range, using the specified scheduler to send out observer
messages.
Examples:
>>> res = range(10)
>>> res = range(0, 10)
>>> res = range(0, 10, 1)
Args:
start: The value of the first integer in the sequence.
stop: [Optional] Generate number up to (exclusive) the stop
value. Default is `sys.maxsize`.
step: [Optional] The step to be used (default is 1).
scheduler: The scheduler to schedule the values on.
Returns:
An observable sequence that contains a range of sequential
integral numbers.
N )observer
scheduler_r
c sR p|pt t tjttt d d fdd t _
S )N)r iteratorr
c sL z*|s
t t| j|d_W n tk
rF Y nX d S )N)state)AssertionErrorZon_nextnextschedule
disposable
StopIterationZon_completed)r r Z
_scheduleractionr sd K/opt/alt/python38/lib/python3.8/site-packages/reactivex/observable/range.pyr 6 s z)range_.