Dieser Abschnitt erläutert
EULER verwendet zwei Fenster. Das Textfenster und das Grafikfenster. In der Unix-Version können Sie durch Drücken der Taste TAB zwischen ihnen wechseln, in den GUI-Versionen können Sie natürlich alternativ auch die Maus verwenden.
Das Textfenster enthält das Menü und dient zur Benutzer-Eingabe und den Ausgaben von EULER. Das Grafikfenster wird immer angezeigt, wenn EULER Ausgaben zeichnet. Der Inhalt des Grafikfenster ist solange sichtbar, wie keine neuen Textausgaben erfolgen. Sobald Textausgaben erfolgen bringt EULER das Textfenster in den Vordergrund.
Dieser Abschnitt bezieht sich ausschließlich auf die Notebook-Versionen von EULER. Notebooks enthalten Kommandos, Kommentare und EULER-Ausgaben. Kommandos aus früheren Sitzungen können editiert und geändert werden. Kommentare können zu den Kommandos hinzugefügt werden, um sie zu erläutern. Notebooks können anderen Anwendern übergeben oder als dokumentierte Berechnungen abgelegt werden. Andererseits sollten Sammlungen von Funktionen weiterhin in Programmdateien gehalten werden. Programmdateien können als erstes Kommando eines Notebooks geladen werden. Ein Notebook könnte die Definitionen begleiten und die Benutzung der Funktionen mit Beispielen erläutern. Eine andere Möglichkeit Notebooks zu benutzen wäre die mathematische Lehre.
Bei Notebooks müssen Sie besonders beachten, dass EULER auch weiterhin die Kommandos in der Reihenfolge speichert, wie sie ausgeführt wurden. Falls Sie also den Wert einer Variablen ändern und zu einem vorherigen Kommando zurückgehen, so wird mit dem neuen Wert gearbeitet.
Sie können nicht nur vorherige Kommandos verändern, sondern sie auch löschen oder neue einfügen. Benutzen Sie das Notebook-Menü dafür oder die Tastaturbefehle. Sobald Sie ein Kommando ändern und ausführen, werden die urprünglichen Ausgaben gelöscht und EULER fährt mit dem nächsten Kommando fort, es sei denn Sie wählen Einfügen aller neuen Kommandos. In diesem Fall wird ein neues Kommando unterhalb des gerade ausgeführten eingefügt.
Sie können die Ausgaben eines Kommandos löschen. Um dies zu tun, wählen Sie einen Textbereich und benutzen den Befehl im Menü Notebook. Alle Ausgaben der ausgewählten Kommandos werden dann gelöscht.
Notebooks können von allen EULER-Versionen geladen werden. Jedoch können Sie sie nicht editieren. Benutzen Sie dazu
>notebook filename
Nach jedem Kommando erscheint wieder das Prompt-Zeichen. Falls Sie die Taste Escape drücken, wird die Datei sofort geschlossen. Anderenfalls wird das Kommando ausgeführt. Sie können das Prompt-Zeichen durch
>prompt off
ausschalten.
Text kann über die Tastatur hinter dem Prompt-Zeichen (>) eingegeben werden. Tippfehler können mit der Taste Backspace rückgängig gemacht werden. Die Cursor-Tasten positionieren den Cursor zurück oder vorwärts in der Zeile. Der Zeileneditor befindet sich immer im Einfügemodus, so dass an der Cursorposition Zeichen immer eingefügt werden. Die Tasten Pos1 und Ende arbeiten wie gewohnt. Escape löscht alle Eingaben der Zeile. Die Tasten Umschalt+Pfeil links oder Pfeil rechts bewegen den Cursor ein Wort nach links bzw. nach rechts. Die Eingaben werden schließlich durch Drücken von Return abgeschlossen. Danach interpretiert EULER das Kommando. Der Cursor kann sich an jeder Position in der Zeile befinden, wenn Return gedrückt wird.
Vorherige Eingaben können mit den Tasten Cursor+Pfeil hoch und Pfeil runter zurückgeholt werden (benutzen Sie bei den Notebook-Versionen diese Tasten zusammen mit Umschalt). Wenn ein Kommando zurückgeholt und mit Return bestätigt wurde, so holt Cursor+Pfeil runter das nächste Kommando zurück, das heißt, Cursor hoch und runter beruhen immer auf dem zuletzt geholten Kommando. Auch das Löschen der Eingabezeile macht das letzte Kommando zur Basis des Rückrufens (benutzen Sie Escape oder Strg+Cursor hoch). Folglich holt Escape und Cursor hoch das vorherige Kommando zurück.
Durch Drücken von Einfg werden Teilkommandos vervollständigt. Erneutes Drücken dieser Taste bringt eine weitere Vervollständigung, sofern dies möglich ist. Die Suche durchläuft die Kommando-History, die implementierten Funktionen, die selbstdefinierten Funktionen und endet schließlich mit den Build-In-Funktionen.
Die Taste Ende fügt den Text "endfunction" ein, jedoch ausschließlich im Programmier-Modus (siehe unten). Sonst arbeitet sie wie gewöhnlich.
Es gibt einige spezielle Tasten. Die Taste Tabulator wechselt zum Grafikfenster und von dort jede Taste wieder zurück. Die Taste Escape stoppt jedes laufende EULER-Programm und einige interne Funktionen wie die dreidimensionalen Plots, die Lösung von linearen Gleichungssystemen und die Suche von polynomen Wurzeln.
Die Tasten Bild hoch und Bild runter dienen zum Ansehen früherer Ausgaben EULER's. EULER behält einen Satz der letzten Ausgaben. Falls die aktive Kommandozeile nicht mehr sichtbar ist, kann durch Drücken jeder Taste wieder zurückgesprungen werden.
Eingaben können sich durch ".." über mehrere Zeilen erstrecken. Die beiden Punkte sind an jeder Stelle erlaubt, wo auch ein Leerzeichen eingegeben werden kann. Zum Beispiel ist
>3+ .. some comment >4
folgendem Kommando genau gleich
>3+4
Kommentare können hinter den ".." folgen und werden nicht ausgewertet.
Funktionstasten können mit dem Kommando setkey programmiert werden:
>setkey(number,"text");
Die Zahl (number) muss zwischen 1 und 10 liegen, "text" kann jede gültige Zeichenfolge sein. Die entsprechende Funktionstaste schreibt dann den Text in die Eingabe, wenn sie zusammen mit der Taste Umschalt gedrückt wird. Falls der Funktionstasten-Text das Zeichen " enthalten soll, kann man auch doppelte einfache Anführungsstriche als Textbegrenzer benutzen wie hier:
>setkey(1,''load "test";'');
Beim Drücken von Umschalt+F1 wird
>load "test";
in die Eingabezeile geschrieben.
Um langwierige Eingaben zu verkürzen, kann man eine Datei generieren, die EULER-Eingaben enthält. Diese Datei kann mit jedem Editor generiert werden. Um solche Dateien zu laden, geben Sie
>load filename
ein. Alle Zeilen einer solchen Datei werden wie jede andere Tastatureingabe interpretiert. Eine geladene Datei kann ihrerseits ein Ladekommando enthalten. Falls ein Fehler auftritt wird das Laden angehalten und eine Fehlermeldung ausgegeben. Für solche Dateien sollte die Standard-Dateierweiterung ".e" benutzt werden. Sie müssen dann diese Dateierweiterung im Ladekommando nicht angeben. Der Dateiname kann mit Anführungsstrichen geschrieben werden. Wenn Sie einen String-Ausdruck benutzen, schließen Sie ihn in runde Klammern ein.
Am besten benutzt man EULER-Programmdateien zur Definition von Funktionen. Bei jedem Start von EULER werden eine ganze Reihe vordefinierter Funktionen geladen. Dies funktioniert folgendermaßen: EULER lädt beim Start die Datei euler.cfg. Diese Datei enthält ihrerseits Ladekommandos, womit die erforderlichen Programmdateien geladen werden.
EULER sucht standardmäßig die spezifizierten Dateien im aktiven Verzeichnis. Sie können ein anderes Verzeichnis mit dem Kommando path vorgeben
>path "..."
wobei die Zeichenkette etwa das Verzeichnis "./myspecial" enthalten sollte. Dies würde das aktive Verzeichnis in ein Unterverzeichnis myspecial wechseln. Das Kommando path ist nützlich für Netzwerk-Installationen.
Eine Datei kann Kommentare enthalten. Kommentare sehen etwa so aus:
comment This is a comment. Comments can spread several lines. Also empty lines are allowed. endcomment
endcomment muss die erste Zeichenfolge einer Eingabezeile sein.
Sie können den Ausdruck von Kommentaren abschalten mit
comment off
Anderenfalls werden alle Kommentare in einer Datei angezeigt, sobald die Datei geladen wird.
comment on
schaltet dieses Feature wieder ein.
Falls eine Berechnung auf Fehler läuft, gibt EULER eine Fehlermeldung aus und versucht die auslösende Eingabe zu bezeichnen. Dies kann eine Stelle in Ihrer Eingabe sein oder eine Zeile in einer geladenen Datei oder eine Zeile in einer EULER-Funktion. Im letzteren Fall druckt EULER einen stack dump des Funktionsaufrufs.
Sie können auch selber Fehlermeldungen generieren und ausgeben mit
error("An error occured");
Wenn diese Zeile in einer EULER-Funktion auftritt, wird die Ausführung angehalten und die normale Fehlerbehandlung durchlaufen, indem ein stack dump erzeugt wird.
Es ist auch möglich, einen Ausdruck auf Fehler zu überprüfen. Dies erzeugt keine Fehlermeldungen (natürlich unterdrückt es alle Ausgaben), sondern liefert einen Fehlercode und wenn möglich, ein Ergebnis. Ein Beispiel ist:
{n,B}=errorlevel("inv(A)");
Die Matrix A soll wenn möglich invertiert werden, dann wird n gleich 0 sein. Wenn die Inversion fehlschlägt, wird n eine Fehlernummer ungleich 0 enthalten. Die Variable B darf in diesem Fall nicht benutzt werden. Verwenden Sie
if n<>0; error("Inversion failed"); endif;
zum Test auf Fehler.