UniRx: Debug() 拡張メソッド
ObservableDebugExtensions.cs に Debug()
拡張メソッドが定義されています。
この拡張メソッドを使うと、OnNext
や OnCompleted
などのイベント時にログが出力されるようになります。
(これはデバッグ機能として提供されており、DEBUG
シンボルが定義されている場合にかぎり有効となります)
using System; using UniRx; using UniRx.Diagnostics; using UnityEngine; public class Main : MonoBehaviour { void Start() { var s = Observable.Range(10, 3); s.Debug().Subscribe(); } }
実行結果です。
[22:32:55:471] OnSubscribe [22:32:55:475] OnNext(10) [22:32:55:477] OnNext(11) [22:32:55:478] OnNext(12) [22:32:55:479] OnCompleted()
これまでログを出力するときは、いつも以下のようなコードを書いていましたが、Debug()
拡張メソッドを使うと不要になりますね。
void Start() { var s = Observable.Range(10, 3); s.Subscribe(e => Debug.Log("e: " + e), () => Debug.Log("OnCompleted")); }