Ändern Sie die Clojure-Quellcodedatei in clojure

8

Ich habe mich gefragt, ob es möglich ist, den in einer Clojure .clj Quelldatei enthaltenen Code als Liste zu laden, ohne ihn zu kompilieren.

Wenn ich eine .clj Datei als Liste laden kann, kann ich diese Liste ändern und sie in die gleiche Datei zurückschreiben, die dann wieder geladen werden kann.

(Vielleicht ist das eine schlechte Idee.) Weiß jemand, ob das möglich ist?

    
sneilan 17.08.2011, 18:08
quelle

3 Antworten

1

Ein etwas einfacheres Beispiel:

%Vor%

Wobei slurp Ihnen eine Zeichenkette gibt, read-string gibt Ihnen eine nicht ausgewertete Form und load-string gibt Ihnen das Ergebnis der Auswertung der Form.

    
Peter Westmacott 11.06.2013, 13:00
quelle
7

Es ist keine schlechte Idee, es ist eine der wichtigsten Eigenschaften von Lisp, Code ist Daten. Sie können die CLJ-Datei als Liste lesen, indem Sie sie lesen, ändern und zurückschreiben.

%Vor%

Dies liest sich selbst und schaltet boolesche Werte um und schreibt sie zurück.

    
Hamza Yerlikaya 17.08.2011 18:45
quelle
0

Es gibt eine Bibliothek namens rewrite-clj , die diese Art von Ding kann.

Ссылка

    
Tyler 24.07.2017 21:24
quelle

Tags und Links