Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Ein- und Ausgabe
Standardströme
Jedes Programm hat drei Standardströme, die es mit seiner
Umgebung verbinden: die Standardausgabe, die Standardfehlerausgabe und
die Standardeingabe. Raku stellt sie über drei besondere Variablen
bereit: $*OUT, $*ERR und
$*IN.
Auf die Standardausgabe haben Sie die ganze Zeit geschrieben:
say und print schicken ihren Text an
$*OUT.
say 'Hello'; # goes to standard outputDiagnose- und Fehlermeldungen bleiben davon getrennt, auf der
Standardfehlerausgabe, damit sie sich nicht unter die eigentliche
Ausgabe des Programms mischen. Die Routine note schreibt
dorthin:
note 'Something looks wrong'; # goes to standard errorDiese Trennung ist nützlich, weil sich die beiden Ströme unabhängig umleiten lassen — Sie können etwa die Ausgabe eines Programms in eine Datei sichern und seine Fehlermeldungen trotzdem am Bildschirm sehen.
Sie können auch direkt in die Ströme schreiben. Sowohl
$*OUT als auch $*ERR ist ein Handle
mit eigenen Methoden say und print:
$*OUT.say('a normal line');
$*ERR.say('a diagnostic line');Der dritte Strom, $*IN, ist die Standardeingabe. Ihm
sind Sie mittelbar über prompt begegnet, das eine Zeile
daraus liest. Auf das Lesen von Eingaben kommen wir bei den Dateihandles zurück, denn
$*IN ist genauso ein Handle wie eine geöffnete Datei.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Übungen
Dieser Abschnitt enthält 3 Übungen. Sehen Sie sich alle Themen dieses Abschnitts an, bevor Sie mit den Übungen beginnen.