RxPY-최신 릴리스 업데이트
이 튜토리얼에서는 RxPY 버전 3과 python 버전 3.7.3을 사용합니다. RxPY 버전 3의 작업은 이전 버전, 즉 RxPY 버전 1과 약간 다릅니다.
이 장에서는 두 버전의 차이점과 Python 및 RxPY 버전을 업데이트하는 경우 수행해야하는 변경 사항에 대해 논의 할 것입니다.
RxPY에서 관찰 가능
RxPy 버전 1에서 Observable은 별도의 클래스였습니다.
from rx import Observable
Observable을 사용하려면 다음과 같이 사용해야합니다.
Observable.of(1,2,3,4,5,6,7,8,9,10)
RxPy 버전 3에서 Observable은 rx 패키지의 일부입니다.
Example
import rx
rx.of(1,2,3,4,5,6,7,8,9,10)
RxPy의 연산자
버전 1에서 연산자는 Observable 클래스의 메서드였습니다. 예를 들어, 연산자를 사용하려면 아래와 같이 Observable을 가져와야합니다.
from rx import Observable
연산자는 다음과 같이 Observable.operator로 사용됩니다.
Observable.of(1,2,3,4,5,6,7,8,9,10)\
.filter(lambda i: i %2 == 0) \
.sum() \
.subscribe(lambda x: print("Value is {0}".format(x)))
RxPY 버전 3의 경우 연산자는 함수이며 다음과 같이 가져 와서 사용됩니다.
import rx
from rx import operators as ops
rx.of(1,2,3,4,5,6,7,8,9,10).pipe(
ops.filter(lambda i: i %2 == 0),
ops.sum()
).subscribe(lambda x: print("Value is {0}".format(x)))
Pipe () 메서드를 사용하여 연산자 연결
RxPy 버전 1에서 Observable에 여러 연산자를 사용해야하는 경우 다음과 같이 수행해야합니다.
Example
from rx import Observable
Observable.of(1,2,3,4,5,6,7,8,9,10)\
.filter(lambda i: i %2 == 0) \
.sum() \
.subscribe(lambda x: print("Value is {0}".format(x)))
그러나 RxPY 버전 3의 경우 아래와 같이 pipe () 메서드와 여러 연산자를 사용할 수 있습니다.
Example
import rx
from rx import operators as ops
rx.of(1,2,3,4,5,6,7,8,9,10).pipe(
ops.filter(lambda i: i %2 == 0),
ops.sum()
).subscribe(lambda x: print("Value is {0}".format(x)))