Arbeit erstmal ähnlich wie do. Im Gegenzug zu do greift react nicht auf die Iteratoren zurück, sondern subscribed einen Container oder Datenstrom. Ein Observable kann ein Array oder eine Liste sein, aber auch eine Netzwerkverbindung, eine Datei oder ein Timer.
Die Wahl auf das Schlüsselwort react erfolgt aufgrund der gleichen Länge zu den Schlüsselwörter catch und final.
container react print value;
sagt dem Container, dass er eine Funktion on_next(value is type) rufen soll, die hier übergeben wird: code( value is type ){ print value; }. Abschließend ruft er eine Funktion auf, dass der Datenstrom zu Ende ist. (on_completed). Bei Problemen wird eine Funktion on_error gerufen:
[1, 2, 3] react print value$; catch print value.text; // value contains the exception final print "keine weiteren Elemente";
Idealerweise können Standardcontainer auch Modifikationen am Container melden (on_add, on_remove).
Ein Container muss entsprechend Observables sein, entsprechend führt ein Observables eine Liste mit, wen es warum informieren muss.
Siehe auch: http://reactivex.io/documentation/observable.html
Ein Datentyp ist ein Container, der statisch ausgewertet wird.
Person contains
{
Vorname, Nachname is string;
Birthdate is date;
fullName() : Vorname+" "+Nachname;
getBirthdate() : Birthdate;
}
Person
| Type.filterMethods
react print "Methode: "+value.name + "("+value.arguments$(",")+")\n"