0

RxPyを試していますが、buffer_with_countオペレーターのこの動作を理解していません。

シナリオ 1: インターバル オブザーバブル

これは私が期待するように動作します。

バッファなし

>>> Observable.interval(500).take(6).subscribe(print)
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x104733d68>
>>> 0
1
2
3
4
5

バッファあり (count=3)

>>> Observable.interval(500).take(6).buffer_with_count(3).subscribe(print)
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x104789a20>
>>> [0, 1, 2]
[3, 4, 5]

シナリオ 2: 観測可能な範囲

これは、期待されるバッファリングされた出力を生成しません

バッファなし

>>> Observable.range(0, 6).subscribe(print)
0
1
2
3
4
5
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x1046ea160>

バッファあり (count=3)

>>> Observable.range(0, 6).buffer_with_count(3).subscribe(print)
[1, 2]
[4, 5]
<rx.disposables.anonymousdisposable.AnonymousDisposable object at 0x1046ea710>

この 2 番目のシナリオでは何が起こっていますか?

どうもありがとう!

4

1 に答える 1