web-dev-qa-db-ja.com

最新のReactive Extension(Rx)チュートリアル

Reactive Extensionsに非常に興味がありますが、最新のチュートリアルが見つかりません。私は 。NETのReactive Extensionsを使用して非同期ブルーを硬化させる から始めましたが、それは古くなっています。いくつかの変更を理解することはできますが、多くの例が機能することはありませんでした。

主に2009年、2010年の記事をWebで見つけましたが、現在のリリースとは互換性がありません。特に、Windows PhoneとWebClientでRxを使用することに興味があります。

WebClient wc = new WebClient();

var o = Observable.FromEvent<DownloadStringCompletedEventArgs>(wc, "DownloadStringCompleted").Select(newString => newString.EventArgs.Result);

// Subscribe to the observable, and set the label text
o.Subscribe(s => myLabel.Text = s);

// Start the download
wc.DownloadStringAsync(new Uri("http://www.data.com/service"));

動作しなくなり、FromEventFromEventPatternに置き換えるだけでは不十分です。

誰かが最新のリソースを教えてくれますか?

50
Igor Kulman

Rxを学習するとき、最初に行うことは、IObservableの背後にある哲学と、それがIEnumerableと比較したプッシュベースの性質を理解することです。良い説明のために以下をお勧めします: A [nother] Reactive Extensionsの簡単なチュートリアル

Lee Campbellには、APIとそれらをいつ使用するかを説明するニースシリーズがあります。 彼はまた、最新リリースでそれを最新の状態に維持しようとしています: Reactive Extensions for .NET and Introduction このシリーズは現在、 Introduction to Rx で書籍として入手できます。

ちなみに、私はrxで実際の問題を解決することについてのブログ投稿も書いています。 データベースからのデータをストリーミングするためのリアクティブエクステンションの使用

お役に立てれば。

48
Giorgi

Reactive Extensions(Rx)Koans と呼ばれる「やって学ぶ」プロジェクトを見つけました。
2012年3月に最終更新されたため、かなり最新です。

「Koan」の定義最も一般的なのは「片手で拍手する音は何ですか?」

これは、ほぼ完全な単体テストのシリーズで構成されており、合格するように終了する必要があります。これを行うには、「空白を埋める」ことです。

それは非常にきちんとしていて、完了するのがとても簡単で、貴重な洞察を与えてくれます。

ああ、それはBart De SmetRxチームから作成されました。

典型的な単体テストは次のとおりです。

[TestMethod]
public void DoingInTheMiddle()
{
    var status = new List<String>();
    var daysTillTest = Range.Create(4, 1).ToObservable();
    daysTillTest.Do(d => status.Add(d + "=" + (d == 1 ? "Study Like Mad" : ___)))
                .Subscribe();
    Assert.AreEqual("[4=Party, 3=Party, 2=Party, 1=Study Like Mad]", status.AsString());
}
19

Rxに頭を悩ませるのを助けてくれた最高のリソースは次のとおりです。 http://www.introtorx.com/

これは多くの人に起こると思いますが、「Rx tutorial」というキーワードで検索するとそのサイトは見つかりません。誰かがサイトにタグを追加する必要があると思います!

14
letstango

このオンラインブックを1行(1行ごと)読んで練習します。これは良いことです、私はRxで始めたときにやりました。

http://www.introtorx.com/

4
Gerald G.