"Learn by Doing"
55 progressive examples to help you learn Reactive Extensions
By: Bart De Smet & Llewellyn Falco
Definition of ‘Koan’
Kōan 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?
Reactive Extensions is an 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.
The RxKoans are an interactive and fun way to be introduced to and learn Rx.
These Koans target Rx.NET. There are also JavaScript koans available at RxJSKoans
Open the Visual Studio 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.
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.
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.
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 points and walk through the code. It's a great way to get details. Ctrl+R, Ctrl+T
will run in debug mode.
Do Them with a Friend: Learning is more fun and less frustrating when you have a friend with you.