0

次のコードを F# に変換しようとしています。

static void Main(string[] args)
{
    var y = Observable.Create<int>(x =>
        {
            x.OnNext(5);
            return (() => { });
        });

    y.Subscribe(x => Console.WriteLine(x));
}

以下を試しました:

let ob = Observable.Create<int>(fun x -> 
                                    x.OnNext(5)
                                    fun unit -> unit)  

しかし、成功しません。私は何をすべきですか?

4

2 に答える 2

6
let observable = Observable.Create(fun (x: IObserver<_>) ->
  x.OnNext(5)
  Action(ignore))

observable.Subscribe(printfn "%d") |> ignore
于 2012-12-06T15:08:37.557 に答える
6

Observable をキャンセルできない場合 (通常は同期の場合)、シングルトンを使用する方が効率的ですDisposable.Empty

Observable.Create(fun (o : IObserver<_>) -> 
    o.OnNext(5)
    Disposable.Empty
)
于 2012-12-06T15:39:55.463 に答える