Next: Funktionen und Variablen für die TeX-Ausgabe, Previous: Dateien, Nach oben: Eingabe und Ausgabe [Inhalt][Index]
Startet wie die Funktion writefile eine Aufzeichnung aller Ein- und 
Ausgaben der Konsole.  Die Ein- und Ausgaben werden in die Datei filename 
geschrieben.  Im Unterschied zu writefile werden die Daten immer an eine 
existierende Datei angehängt, wenn diese existiert.  Existiert die Datei 
nicht, wird diese angelegt.
Die Funktion closefile beendet die Aufzeichnung.
Das Kommando batch(filename) liest Maxima-Ausdrücke aus der Datei 
filename ein, wertet diese aus und gibt die Ergebnisse auf der Konsole 
aus.  batch sucht die Datei filename in den Verzeichnissen, die in 
der Liste file_search_maxima enthalten sind.  Siehe auch die Funktion
file_search.
batch(filename,  entspricht dem Kommando
demo)demo(filename).  batch sucht für diesen Fall die Datei in
der Liste der Verzeichnisse file_search_demo.  Siehe auch die Funktion
demo.
batch(filename,  entspricht dem Kommando
test)run_testsuite mit der Option display_all=true.  Im Unterschied zur
Funktion run_testsuite sucht die Funktion batch die Datei 
filename in den Verzeichnissen der Liste file_search_maxima und 
nicht in der Liste file_search_tests.
Die Maxima-Ausdrücke in der Datei werden wie auf der Konsole mit den 
Zeichen ; oder $ beendet.  Die Systemvariable % und die
Funktion %th beziehen sich auf vorhergehende Zeilen in der Datei.  Die
Datei kann :lisp-Unterbrechungskommandos enthalten.  Leerzeichen, 
Tabulatoren, Zeilenschaltungen und Kommentare werden ignoriert.  Eine geeignete 
Datei kann mit einem Texteditor oder der Funktion stringout erstellt 
werden.
Den Ein- und Ausgaben werden jeweils Ein- und Ausgabemarken zugewiesen.  Tritt 
während der Auswertung eines Ausdrucks ein Fehler auf, wird das Einlesen der 
Datei abgebrochen.  Werden Eingaben vom Nutzer benötigt, wie zum Beispiel bei
Fragen der Funktionen asksign oder askinteger, dann wartet 
batch auf die Antworten, um dann die Verarbeitung der Datei fortzusetzen.
Die Verarbeitung von batch kann durch die Eingabe von control-C 
abgebrochen werden.  Die weitere Reaktion auf einen Abbruch mit control-C
hängt von der Lisp-Implementation ab.
batch wertet die Argumente aus.  batch gibt den Namen der Datei
filename als Zeichenkette zurück, wenn die Funktion ohne zweites 
Argument oder mit der Option demo aufgerufen wird.  Wird die Funktion mit 
der Option test aufgerufen, ist die Rückgabe eine leere Liste [] 
oder eine Liste, die filename und die Nummern der fehlgeschlagenen Tests
enthält.
Siehe auch die Funktionen load und batchload, um Dateien
zu laden, sowie die Funktionen run_testsuite und demo.
Liest Ausdrücke aus der Datei filename ein und wertet diese aus, ohne die eingelesenen und ausgewerteten Ausdrücke anzuzeigen und ohne Zuweisung von Eingabe- und Ausgabemarken. Die Ausgabe von Fehlermeldungen oder sonstigem Text, der von Funktionen ausgegeben wird, wird nicht unterdrückt.
Die Systemvariable % und die Funktion %th beziehen sich auf die
letzte Eingabe auf der Konsole und nicht auf Zeilen oder Ergebnisse der Datei.
Im Gegensatz zur Funktion batch darf eine Datei, die von batchload
geladen wird, keine :lisp-Unterbrechungskommandos enthalten.
batchload gibt eine Zeichenkette mit dem Pfad der Datei filename 
zurück.  Siehe auch die Funktionen batch und load, um 
Dateien zu laden.
Beendet eine Aufzeichnung, die von den Funktionen writefile oder 
appendfile gestartet wurde, und schließt die Ausgabedatei.
Standardwert: false
Die Optionsvariable file_output_append kontrolliert, ob die Funktionen 
save, stringout oder with_stdout, die in eine Datei 
schreiben, diese löschen und neu anlegen oder die Daten anhängen.  Wenn 
file_output_append den Wert true hat, werden die Daten an die 
existierende Datei angehängt.  Ansonsten wird eine neue Datei erstellt.
Plot-Funktionen und der Übersetzer erstellen grundsätzlich neue Dateien und
die Funktionen tex und appendfile hängen die Ausgabe immer an 
eine bestehende Datei an.
Setzt einen Pfad aus path und filename zusammen.  Endet path
mit einer Zeichenkette der Form ###.something, wird diese 
Zeichenkette durch filename.something ersetzt.  Ansonsten 
wird der Endbestandteil durch filename ersetzt.
Die Rückgabe ist ein Lisp-Dateiname.
Beispiele:
(%i1) filename_merge("user/", "myfile");
(%o1)                      user/myfile
(%i2) filename_merge("user/###.lisp", "myfile");
(%o2)                   user/myfile.lisp
file_search sucht die Datei filename und gibt den Pfad als eine
Zeichenkette zurück, wenn die Datei gefunden wurde.  Ansonsten wird 
false zurückgegeben.  file_search(filename) sucht in den 
Standardsuchverzeichnissen, die mit den Optionsvariablen 
file_search_maxima, file_search_lisp und 
file_search_demo spezifiziert werden.
file_search prüft zuerst, ob die Datei filename existiert.  Dann
prüft file_search, ob die Datei anhand von Mustern im Dateinamen 
gefunden werden kann.  Siehe file_search_maxima für die Suche von
Dateien.
Das Argument filename kann ein Name mit einer Pfadangabe oder allein der
Dateiname sein.  Sind in den Suchverzeichnissen Dateinamen mit Mustern 
enthalten, kann die Datei auch ohne Endung angegeben werden.  Zum Beispiel 
finden die folgenden Kommandos dieselbe Datei, wenn 
/home/wfs/special/###.mac in der Liste file_search_maxima 
enthalten ist:
file_search ("/home/wfs/special/zeta.mac");
file_search ("zeta.mac");
file_search ("zeta");
file_search(filename, pathlist) sucht nur in den
Verzeichnissen pathlist.  Das Argument pathlist überschreibt die
Standardsuchverzeichnisse.  Auch ein einzelnes Verzeichnis muss als eine Liste 
übergeben werden.
Die Standardsuchverzeichnisse können modifiziert werden.  Siehe dazu auch
file_search_maxima.
file_search wird von der Funktion load mit den Verzeichnislisten
file_search_maxima und file_search_lisp aufgerufen.
Diese Optionsvariablen bezeichnen Listen mit Verzeichnissen, die von Funktionen 
wie load und demo durchsucht werden, um eine Datei zu finden.  Die
Standardwerte bezeichnen verschiedene Verzeichnisse der Maxima-Installation.
Diese Variablen können modifiziert werden, indem die Standardwerte ersetzt 
oder weitere Verzeichnisse angehängt werden.  Zum Beispiel wird im Folgenden 
der Standardwert der Optionsvariablen file_search_maxima ersetzt:
file_search_maxima: ["/usr/local/foo/###.mac",
    "/usr/local/bar/###.mac"]$
In diesem Beispiel werden zwei weitere Verzeichnisse zu der Optionsvariablen 
file_search_maxima hinzugefügt:
file_search_maxima: append (file_search_maxima,
    ["/usr/local/foo/###.mac", "/usr/local/bar/###.mac"])$
Soll eine erweiterte Liste der Suchverzeichnisse nach jedem Start von Maxima
zur Verfügung stehen, kann das obige Kommando in die Datei
maxima-init.mac aufgenommen werden.
Mehrere Dateiendungen und Pfade können mit Wildcard-Konstruktionen 
spezifiziert werden.  Eine Zeichenkette ### wird durch einen Dateinamen
ersetzt.  Werden mehrere Zeichenketten durch Kommata getrennt und mit 
geschweiften Klammern angegeben wie zum Beispiel {foo, bar, baz}, 
expandiert die Liste in mehrere Zeichenketten.  Das folgende Beispiel expandiert
für neumann 
"/home/{wfs,gcj}/###.{lisp,mac}"
in /home/wfs/neumann.lisp, /home/gcj/neumann.lisp, 
/home/wfs/neumann.mac und /home/gcj/neumann.mac.
Gibt eine Vermutung über den Typ der Datei filename zurück. Es wird nur die Dateiendung betrachtet.
Die Rückgabe ist das Symbol maxima oder lisp, wenn die
Dateiendung einen der Werte der Optionsvariablen file_type_maxima oder
der Optionsvariablen file_type_lisp entspricht.  Ansonsten ist die
Rückgabe das Symbol object.
Siehe auch die Funktion pathname_type.
Standardwert:  [l, lsp, lisp]
Die Optionsvariable file_type_lisp enthält die Dateiendungen, die
Maxima als die Bezeichnung für eine Lisp-Datei annimmt.
Siehe auch die Funktion file_type.
Standardwert:  [mac, mc, demo, dem, dm1, dm2, dm3, dmt]
Die Optionsvariable file_type_maxima enthält die Dateiendungen, die
Maxima als die Bezeichnung für eine Maxima-Datei annimmt.
Siehe auch die Funktion file_type.
Wertet die Ausdrücke in der Datei filename aus, wodurch die Variablen,
Funktionen und andere Objekte in Maxima geladen werden.  Alle bisher zugewiesen
Variablen und Definitionen werden überschrieben.  Um die Datei zu finden, wird
von load die Funktion file_search mit den Verzeichnislisten
file_search_maxima und file_search_lisp aufgerufen.  Ist 
load erfolgreich, wird der Dateiname zurückgegeben.  Ansonsten gibt
load eine Fehlermeldung aus.
load verarbeitet Dateien mit Lisp-Code oder Maxima-Code.  Dateien, die 
mit den Funktionen save, translate_file und
compile_file erstellt wurden, enthalten Lisp-Code.  Dateien, die mit
stringout erstellt wurden, enthalten Maxima-Code.  Die Ausgabedateien
dieser Funktionen können mit load geladen werden.  load ruft die
Funktion loadfile auf, um Lisp-Dateien und batchload auf, um 
Maxima-Dateien zu verarbeiten.
load erkennt keine :lisp-Unterbrechungskommandos in 
Maxima-Dateien.  Die Systemvariablen _, __ und % und 
die Funktion %th behalten jeweils ihren letzten Wert vor dem Aufruf von 
load.
Siehe auch die Funktionen loadfile, batch, 
batchload und demo.  loadfile verarbeitet 
Lisp-Dateien.  batch, batchload und demo verarbeiten 
Maxima-Dateien.
Siehe file_search für mehr Informationen, wie Maxima Dateien in 
Verzeichnissen findet.  load wertet die Argumente aus.
Standardwert: false
Wird eine Datei mit den Funktionen load, loadfile oder
batchload geladen, enthält die Systemvariable load_pathname
den Namen der Datei.  Der Wert der Systemvariablen kann in der Datei, die 
geladen wird, ausgelesen werden.
Beispiele:
Ist eine Batch-Datei mit den Namen test.mac in dem Verzeichnis
"/home/dieter/workspace/mymaxima/temp/"
abgelegt und enthält die Datei die folgenden Befehle
print("The value of load_pathname is: ", load_pathname)$
print("End of batchfile")$
dann wird das Folgende ausgegeben:
(%i1) load("/home/dieter/workspace/mymaxima/temp/test.mac")$
The value of load_pathname is:  
              /home/dieter/workspace/mymaxima/temp/test.mac 
End of batchfile
Lädt die Datei filename und wertet die Lisp-Ausdrücke in der Datei 
aus.  filename ruft nicht file_search auf, um eine Datei zu 
finden.  Daher muss filename ein vollständiger Dateiname sein.
loadfile kann Dateien verarbeiten, die mit den Funktionen 
save, translate_file und compile_file erzeugt wurden.
Standardwert: true
loadprint kontrolliert, ob Meldungen ausgegeben werden, wenn eine Datei
geladen wird.
loadprint den Wert true, wird immer eine Meldung 
      ausgegeben.
loadprint den Wert 'loadfile, wird eine Meldung 
      ausgegeben, wenn die Datei mit der Funktion loadfile geladen wird.
loadprint den Wert 'autoload, wird eine Meldung 
      ausgegeben, wenn eine Datei automatisch geladen wird.
loadprint den Wert false, werden keine Meldungen beim 
      Laden von Dateien ausgegeben.
Diese Funktionen geben die Bestandteile eines Pfadnamens zurück.
Beispiele:
(%i1) pathname_directory("/home/dieter/maxima/changelog.txt");
(%o1)                 /home/dieter/maxima/
(%i2) pathname_name("/home/dieter/maxima/changelog.txt");
(%o2)                       changelog
(%i3) pathname_type("/home/dieter/maxima/changelog.txt");
(%o3)                          txt
Druckt eine Datei mit dem Namen path auf der Konsole aus.  path kann
ein Symbol oder eine Zeichenkette sein.  printfile sucht die Datei in den 
Verzeichnissen, die in der Optionsvariablen file_search_usage enthalten 
sind.
printfile gibt path zurück, wenn die Datei existiert.
Speichert die aktuellen Werte von name_1, name_2, name_3, 
…, in die Datei filename.  Die Argumente sind die Namen von 
Variablen, Funktionen oder anderen Objekten.  Argumente, die keinen Wert haben, 
werden ignoriert.  save gibt den Namen der Datei filename 
zurück.
save speichert die Daten in einem Lisp-Format.  Die gespeicherten Daten
können mit dem Kommando load(filename) zurückgelesen werden.
Siehe load.
Die Optionsvariable file_output_append kontrolliert, ob save die
Daten an die Ausgabedatei anhängt, wenn diese bereits existiert, oder die 
Ausgabedatei zuvor löscht.  Hat file_output_append den Wert 
true, werden die Daten angehängt.  Ansonsten wird die Datei gelöscht
und neu angelegt, wenn diese bereits existiert.  Existiert die Ausgabedatei
noch nicht, wird diese angelegt.
save(filename, values, functions, labels, ...) speichert die
Werte aller Einträge der Listen values, functions, 
labels, u.s.w. in die Ausgabedatei.  Es kann jede der vorhandenen
Informationslisten, die in der Systemvariablen infolists enthalten ist, 
als Argument übergeben werden.  values enthält zum Beispiel alle vom
Nutzer definierten Variablen.
save(filename, [m, n]) speichert die Werte der Eingabe-
und Ausgabemarken von m bis n.  m und n müssen ganze 
Zahlen sein.  Die Eingabe- und Ausgabemarken können auch einzeln gespeichert 
werden, zum Beispiel mit dem Kommando save("foo.1", %i42, %o42).
save(filename, labels) speichert alle Eingabe- und Ausgabemarken.
Beim Zurücklesen der Marken werden vorhandene Werte überschrieben.
save(filename, name_1 = expr_1, name_2 = 
expr_2, ...) speichert die Werte expr_1, expr_2, …, 
unter den Namen name_1, name_2, … ab.  Dies kann  nützlich
sein, um zum Beispiel die Werte von Marken unter einem neuen Namen 
abzuspeichern.  Die rechte Seite der Gleichungen kann ein beliebiger 
ausgewerteter Ausdruck sein.  Die neuen Namen werden der aktuellen Sitzung nicht
hinzugefügt und nur in der Ausgabedatei gespeichert.
Die verschiedenen Möglichkeiten der Funktion save, können
miteinander kombiniert werden.  Das Kommando
save(filename, aa, bb, cc=42, functions, [11,17]) ist dafür ein
Beispiel.
save(filename, all) speichert den aktuellen Zustand von Maxima
in eine Ausgabedatei.  Eingeschlossen sind alle nutzerdefinierten Variablen, 
Funktionen oder Arrays, einschließlich automatischer Definitionen.  Die 
gespeicherten Daten enthalten auch die Werte von geänderten System- oder
Optionsvariablen.  Siehe dazu auch myoptions.
save wertet das Argument filename aus.  Alle anderen Argumente
werden nicht ausgewertet.
stringout schreibt Ausdrücke in einem Format in eine Datei, dass 
identisch mit dem Format der Eingabe ist.  Die Datei kann als Eingabedatei für
die Funktionen batch oder demo genutzt werden.  Sie kann mit 
einem Texteditor für jeden Zweck editiert werden.  stringout kann
ausgeführt werden, wenn das Kommando writefile aktiv ist.
Die Optionsvariable file_output_append kontrolliert, ob stringout
die Daten an die Ausgabedatei anhängt, wenn diese bereits existiert oder die 
Ausgabedatei zuvor löscht.  Hat file_output_append den Wert 
true, werden die Daten angehängt, wenn die Datei bereits existiert.  
Ansonsten wird die Datei gelöscht und neu angelegt.  Existiert die 
Ausgabedatei noch nicht, wird diese angelegt.
Die allgemeine Form von stringout schreibt die Werte eines oder mehrerer
Ausdrücke in die Ausgabedatei.  Ist ein Ausdruck eine Variable, wird nur der
Wert der Variablen, nicht jedoch der Name der Variablen in die Ausgabedatei 
geschrieben.  Ein nützlicher Spezialfall ist, dass die Werte der Eingabe- 
und Ausgabemarken (%i1, %i2, %i3, … und %o1, 
%o2, %o3, …) in die Datei geschrieben werden können.
Hat die Optionsvariable grind den Wert true, wird die Ausgabe
im Format der Funktion grind in die Ausgabedatei geschrieben.  Ansonsten
wird das Format der Funktion string für die Ausgabe genutzt.
stringout(filename, [m, n]) schreibt die Werte aller
Eingabemarken von m bis n in die Ausgabedatei.
stringout(filename, input) schreibt alle Eingabemarken in die
Ausgabedatei.  stringout(filename, functions) schreibt alle vom 
Nutzer definierten Funktionen, die in der Informationsliste functions 
enthalten sind, in die Ausgabedatei.
stringout(filename, values) schreibt alle benuzterdefinierten
Variablen, die in der Informationsliste values enthalten sind, in die
Ausgabedatei.  Die Variablen werden als eine Zuweisung, mit dem Namen der 
Variablen, dem Zuweisungsoperator : und dem Wert in die Datei 
geschrieben.  Im Unterschied dazu, speichert die allgemeine Form der Funktion
stringout die Variablen nicht als Zuweisung.
with_stdout wertet Argumente expr_1, expr_2, expr_3, 
… aus und schreibt die Ergebnisse der Auswertung in die Ausgabedatei 
f oder in den Stream s.  Die Ergebnisse werden nicht auf der 
Konsole ausgegeben.
Die Optionsvariable file_output_append bestimmt, ob with_stdout 
die Daten an die Ausgabedatei anhängt oder die Ausgabedatei zuvor löscht. 
Hat file_output_append den Wert true, werden die Daten 
angehängt.  Ansonsten wird die Datei gelöscht und neu angelegt.  Existiert
die Ausgabedatei noch nicht, wird diese angelegt.
with_stout gibt das Ergebnis des letzten Argumentes zurück.  
Siehe auch writefile.
Beispiel:
(%i1) with_stdout ("tmp.out", for i:5 thru 10 do
         print (i, "! yields", i!))$
(%i2) printfile ("tmp.out")$
5 ! yields 120 
6 ! yields 720 
7 ! yields 5040 
8 ! yields 40320 
9 ! yields 362880 
10 ! yields 3628800
Startet eine Aufzeichnung aller Ein- und Ausgaben der Konsole. Die Ein- und Ausgaben werden in die Datei filename geschrieben.
Die Ausgabedatei kann von Maxima nicht wieder zurückgelesen werden.  Um ein 
Datei zu erzeugen, die von Maxima zurückgelesen werden kann, siehe die 
Funktionen save und stringout.  save speichert 
Ausdrücke in einem Lisp-Format und stringout in einem Maxima-Format.
Die Reaktion der Funktion writefile für den Fall, dass die Ausgabedatei
bereits existiert, hängt von der Lisp-Implementation ab.  Die Ausgabedatei
kann zurückgesetzt werden oder die Daten werden angehängt.  Die Funktion
appendfile hängt die Daten immer an eine existierende Datei an.
Um eine Aufzeichnung ohne Textausgaben von Funktionen zu erhalten, kann 
writefile nach der Ausführung von playback ausgeführt werden. 
playback gibt alle vorhergenden Eingabe- und Ausgabemarken aus, jedoch 
nicht sonstige Textausgaben von Maxima-Funktionen.
Mit closefile wird die Aufzeichnung beendet.
Next: Funktionen und Variablen für die TeX-Ausgabe, Previous: Dateien, Nach oben: Eingabe und Ausgabe [Inhalt][Index]