Clojure maps / arrays in eine Datei schreiben und zurücklesen

7

Ich muss Clojure-Maps in einer Datei speichern und sie später wieder lesen, um sie zu verarbeiten.

Das könnte ich mir vorstellen. Gibt es einen besseren Weg, um das Gleiche zu erreichen?

%Vor%     
psaradhi 02.10.2013, 22:15
quelle

3 Antworten

11

Es ist am einfachsten, ein einzelnes Formular in und aus der Datei zu lesen, also lege ich meine Daten normalerweise in einen Vektor. Ich bevorzuge auch die Verwendung von pr oder pr-str anstatt zu drucken, weil es garantiert lesbare Daten produziert,

%Vor%

gegen:

%Vor%

Beachten Sie, dass die Zeichenfolge '"asdf" als Symbol zurückgelesen wurde.

.toString funktioniert auch gut:

%Vor%     
Arthur Ulfeldt 02.10.2013, 22:26
quelle
9

Ja - spit und prn-str zum Schreiben, slurp und read-string zum Lesen.

%Vor%

(in einer neuen REPL-Sitzung)

%Vor%

Ich habe einen Vektor für dieses Beispiel verwendet, aber alle Daten (z. B. Karten) sollten genauso gut funktionieren.

Beachten Sie, dass es in der Clojure-Hauptsprache eine Lesezeichenfolge gibt, die jedoch explizit als nicht sicher für nicht vertrauenswürdige Daten dokumentiert ist. Daher ist es besser, die Version von clojure.edn zu verwenden.

    
rkday 02.10.2013 22:30
quelle
2

Sehen Sie sich Jared314 02.10.2013 22:24

quelle

Tags und Links