-
Notifications
You must be signed in to change notification settings - Fork 8
Examples Observers
Luis Llamas edited this page Apr 25, 2019
·
11 revisions
★ = important
#include "ReactiveArduinoLib.h"
auto observableInt = Reactive::FromProperty<int>();
void setup()
{
Serial.begin(9600);
while (!Serial) delay(1);
Reactive::FromRange<int>(1, 10, 2)
>> Reactive::Do<int>([](int x) { Serial.println(2 * x); });
}
void loop()
{
}
#include "ReactiveArduinoLib.h"
auto observableInt = Reactive::FromProperty<int>();
void setup()
{
Serial.begin(9600);
while (!Serial) delay(1);
Reactive::FromRange<int>(1, 10, 2)
>> Reactive::DoAndFinally<int>( [](int x) { Serial.println(2 * x); },
[]() { Serial.println("No more items"); });
}
void loop()
{
}
#include "ReactiveArduinoLib.h"
auto observableInt = Reactive::FromProperty<int>();
void setup()
{
Serial.begin(9600);
while (!Serial) delay(1);
Reactive::FromRange<int>(1, 10, 2)
>> Reactive::Finally<int>([]() { Serial.println("No more items"); });
}
void loop()
{
}
#include "ReactiveArduinoLib.h"
int values[] = { 0, 1, 1, 2, 1, 5, 4 };
size_t valuesLength = sizeof(values) / sizeof(values[0]);
auto observableArray = Reactive::FromArray<int>(values, valuesLength);
void setup()
{
Serial.begin(9600);
while (!Serial) delay(1);
observableArray
>> Reactive::If<int>([](int x) { return x > 2; },
[](int x) {Serial.println(10 * x); })
>> Reactive::If<int>([](int x) { return x <= 2; },
[](int x) {Serial.println(5 * x); })
>> Reactive::DoNothing<int>();
}
void loop()
{
}