有沒有辦法從F#中的序列創建觀察值?F#中序列的可觀察數
需要的行爲是訂閱生成的observable的觀察者一次接收一個序列的所有值。
編輯:該問題可以被構造爲:是否存在一個等效於Rx.Observable.FromArray([1,2,3])
,如F#中的here?
編輯2:謝謝大家。我花了一些時間才找到答案,只是發現desco已經回答了。爲了完整起見,這裏是它是如何工作的:
//Using the Reactive Framework.
//References to System.CoreEx.dll and System.Reactive.dll are needed.
open System.Linq
let observable = Observable.ToObservable [1..10]
let odds = observable |> Observable.filter (fun i -> i%2=1)
let disp = odds.Subscribe (fun i -> printfn "%d" i)
disp.Dispose()
我不知道你這個要求的行爲。你的意思是一系列可觀察的事物合併爲一個? 'fold'over'merge'也許;) – Dario 2010-10-02 10:23:40
@Dario:我的意思是我需要訂閱序列的能力。例如,我會列出一個列表並將其轉換爲一個可觀察的事件,觸發連續事件,每個事件都攜帶一個列表成員。 – 2010-10-02 11:14:45