「Introduction to Rx」 の2章の冒頭だけなんとなく訳してみた
Introduction to Rx
こちらのページにRxの解説があるよって @neuecc 御大が書いていたので↓
neue cc - A Beginners Guide to Reactive Extensions with UniRx
なんとなく読んでいたのですが、まあ、さっぱりわからないんですね。
ただこちらのお仕事と
とりすーぷさん。
Unity - UniRx/同時に画面に写ったオブジェクトの数を数えてみる - Qiita
ネットに散らばる先導者をフォローしていたら、さすがに少し理解してきました。
そんな中、訳したらなんか役に立つかな、と思って上↑のIntroduction to Rxをちょっと日本語にしてみました。
確実に訳が間違ってる文があると思うのですが、まあ、こんなことが書いてあるんだー的な。
実際のメソッドの解説に入ったら、上のかずきさんの仕事でいいじゃないか、と気づいてそこまででやめたからほぼ意味ないのですが、個人的にはなにかしら整理できた感あり。
何事も入り方が大事だし、繰り返せる形式ってあるよね、、、ていう。
Introduction to Rx
PART2-Sequence basics
さて、Rxを用いて何かコードを書いてみたいところだろう。しかし、どこから始めたらいいだろう。わたしたちはすでに鍵となる型(key types)を見たが、自ら基礎的な道具であるIObserver
パート2では、オブザーバブル・シークエンスの構築とクエリの基礎を見ていく。LINQが鍵になる。より深い探求によって、ファンクショナル・プログラミングのコンセプトはその核にLINQの理解を伴っていて、そこではじめてRxはマスター可能なものになることをわたしたちは発見するだろう。わたしたちはクエリを三つのグループに分類する。それぞれのグループはそこから他のオペレイターが派生しているようなルート・オペレイターを持っている。このような分解作業はRxやクエリ・コンポジション、ファンクショナル・プログラミングに対する深い見通しを与えてくれるだけでなく、Rxの用意されたメソッドがあなたの必要に合わなかった場合に、目的に合ったカスタム・オペレイターをあなた自身が作れるようになるという目的に適っているだろう。
Creating a sequence
前のチャプターで、わたしたちは最初の拡張メソッドとしてSubscribeとそのオーバーロードを見た。また最初のファクトリー・メソッドとしてSubject.Create()を使用した。RxをRxたらしめているIObservable
※ある種の読み手はここから先の数チャプターはスキップできると考えるかもしれない。もしあなたがまさにLINQやファンクショナル・コンポジションに精通していると考えているなら、わたしはこう指摘するにとどめる。この本の意図するところは、Rx入門をまさにステップバイステップで行うことにあるのであり、読み手としてのあなたが、自身のプログラム(ソフトウェア)でRxを使えるようにすることにある。Rxを内蔵したアプリケーションはRxの基礎を適切に理解することで生まれる。Rxについて人々がおかすありがちな間違いは、Rxをビルトする原則に対する思い違いに起因している。それだけ心に留めてもらえたなら、どんどん読み進めていってほしい。
簡単なインスタンス・サブジェクトを作成したときに見たkey typesの調査から始めるのが適切なように思える。最初のカテゴリーは、簡単にObservable
Simple factory methods
observable.Return
*1