Skip to content

オペレーター ​

R3 のオペレーターは、Observable<T> のデータフローを加工・制御するための拡張メソッド群です。上流から流れてきた値を変換、フィルタリング、結合、分割し、下流へ届けます。

カテゴリ一覧 ​

変換 ​

上流の値を別の値や形へ変換するオペレーター。Select、SelectMany、Scan など。

フィルタリング ​

上流の値のうち条件に合うものだけを通す、または一部だけを取り出すオペレーター。Where、Distinct、Take、Skip など。

結合 ​

複数の Observable を組み合わせる、合流する、順序づけるオペレーター。CombineLatest、Merge、Zip、Switch など。

分割・バッファリング ​

上流の値を配列やまとまりにする、または隣接値を組にするオペレーター。Chunk、ChunkFrame、Pairwise など。

時間・フレーム制御 ​

時間、フレーム、発行間隔、遅延、タイムアウトに関わるオペレーター。Debounce、ThrottleFirst、Delay、Timeout など。

エラー処理 ​

エラー通知や OnErrorResume の扱いを変えるオペレーター。Catch、IgnoreOnErrorResume、OnErrorResumeAsFailure。

集約・Task 変換 ​

Observable シーケンスを購読して処理し、その結果を Task、コレクション、単一値などとして取得する処理。FirstAsync、ToArrayAsync、AggregateAsync など。

購読・共有・スレッド制御 ​

購読タイミング、通知先、共有、同期、ConnectableObservable に関わるオペレーター。Share、Publish、ObserveOn など。

Unity ​

R3.Unity が提供する Unity メインスレッド、GameObject ライフサイクル、UI 反映に関わる API。ObserveOnMainThread、AddTo、SubscribeToText など。

デバッグ・副作用 ​

値を変えずに副作用を挟む、または購読中の観測を助けるオペレーター。Do、Index、Append、Prepend など。

用途別の選び方 ​

やりたいこと代表オペレーター
値を別の型に変換したいSelect、Cast
条件に合う値だけ流したいWhere、DistinctUntilChanged
最初の N 件だけ欲しいTake
最後の N 件だけ欲しいTakeLast
複数の Observable を合成したいCombineLatest、Merge、Zip
値をまとめて配列で受け取りたいChunk、ChunkFrame
連打を抑制したいThrottleFirst、Debounce
エラー時に別の Observable へ切り替えたいCatch
結果を1つの値として待ちたいFirstAsync、ToArrayAsync
複数の購読者で値を共有したいShare、Publish
デバッグ用にログを挟みたいDo
Unity のメインスレッドや GameObject の寿命に連動させたいObserveOnMainThread、AddTo