5 Stimmen

Bewahrung von Mathematica-Ausdrücken in einer textuellen Form

Wie konvertiert man Mathematica-Ausdrücke richtig? verlustfrei in eine Zeichenkette (eine Zeichenkette, die im Speicher gehalten und nicht in eine Datei exportiert wird)?

Ich bin auf der Suche nach einer textlichen Darstellung, die

  1. bewahrt alle Informationen, einschließlich spezieller (und möglicherweise atomarer) Objekte, wie z. B. SparseArray , Graph , Dispatch , CompiledFunction , usw. intakt. Z.B. Radfahren ein SparseArray durch diese Darstellung sollte sie spärlich bleiben (und nicht in eine normale Liste umgewandelt werden).
  2. ist relativ schnell zu durchlaufen (hin und her konvertieren).

Ist ToString[expr, FullForm] ausreichend dafür? Was ist mit ToString[expr, InputForm] ?

Anmerkung 1: Dieses Problem trat auf, als ich versuchte, einige Bugs in Graph wo die interne Darstellung gelegentlich verfälscht wird. Aber ich bin an einer Antwort auf die obige allgemeine Frage interessiert.

Anmerkung 2: Save wird dies sicherlich tun, aber es schreibt in Dateien (wahrscheinlich ist es möglich, dies mit Streams zu lösen), und es schreibt nur Definitionen, die mit Symbolen verbunden sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X