Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Vaatii rx-kirjaston: http://msdn.microsoft.com/en-us/data/gg577609
- //Asentuu program filesin alle Microsoft Cloud Programmability\Reactive Extensions
- module RxTesti //Tätä riviä ei interactiveen
- //Nää ei interactiveen:
- //#r "System.CoreEx"
- //#r "System.Reactive.dll"
- open System
- open System.Collections.Generic
- let havainnoitsija = new Subject<string*int*int>()
- let munSynkkaus =
- let muaKiinnostaa = havainnoitsija //havainnoitsija on lista kaikista maailman hiirien siirroista.
- //Async-logiikka voidaan kirjottaa tähän ihan kuten synkroninen koodi,
- //yhdistelemällä kissojen ja hiirien liikkeitä linq-tyylisesti
- //esim. "vain disney-hiiret kiinnosta":
- |> Observable.filter(fun (nimi,_,_) -> nimi.StartsWith("M")) //kuten "where"
- |> Observable.map( //kuten "select"
- fun (nimi,x,y) -> nimi + " meni paikkaan " + x.ToString() + "," + y.ToString()
- )
- muaKiinnostaa.Subscribe(fun (s:string) -> Console.WriteLine(s))
- let siirräHiiri nimi (x,y) = havainnoitsija.OnNext(nimi,x,y)
- let myYields =
- async {
- siirräHiiri "Mikki" (1,2)
- siirräHiiri "Minni" (2,2)
- siirräHiiri "Logitech" (4,5)
- siirräHiiri "Mikki" (3,2)
- } |> Async.RunSynchronously
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement