Welcome to the Reactive Extensions (Rx) Koans
"Learn by Doing"
55 progressive examples to help you learn Rx
By: Bart De Smet & Llewellyn Falco
Definition of ‘Koan’
Koans is a zen word meaning the enlightenment or awakening of a person, usually through a puzzle or riddle. The most common one is “What is the sound of one hand clapping?”
What is this all about?
Rx is a new innovative way to work with asynchronous operations on event streams. It is composable, and uses well-known LINQ syntax to easily express complex timing and event processing operations.
This RxKoans are an interactive and fun way to be introduced to and learn Rx.
Getting Started
Open the Visual Studio 2010 Solution, and open the file:
Koans\Lessons\Lesson0Lambdas.cs
Press Ctrl+R, T (not Ctrl+R, Ctrl+T see below). Fill in the blank (____) Run it again to see it pass.
After you finish the first Lesson, move to the other LessonX files.
Running the project normally will open this readme file.
Running Koans:
Ctrl R, T will run the koans. It will run either the single koan your cursor is on, or the whole file, if your cursor is not in a specific koan[Unit Test].
Running in Debug Mode:
Ctrl R, Ctrl T will run in Debug mode, we do not suggest this, as it just makes things slower and more confusing.
note: Crtl+R,T also takes the current cursor position as a parameter as to which test to run.
Tips & Tricks
Play: Experimentation is a powerful learning tool. Don't be afraid to try stuff out, and run it to see what happens.
**Run the Test: **It is valuable to see what the results are. All Koans are designed to produce something even before they are filled in.
**Debug: **Set some break point and walk thru the code. It's a great way to get details. (Ctrl+R, Ctrl+T) will run in debug mode.
**Do Them with a Friend: **Learn is more fun and less frustrating when you have a friend with you.
Links:
Rx : http://msdn.microsoft.com/data/gg577609
Codeplex Project: http://rxkoans.codeplex.com
Contact:
Bart:
Blog: http://blogs.bartdesmet.net/bart
Llewellyn:
Blog: http://llewellynfalco.blogspot.com
Twitter: http://www.twitter.com/isidore_us
Email: [email protected]