Ho una classe Java Vector2
che mi piacerebbe convincere a "giocare bene" con il lettore Clojure.Rotazione di una classe Java tramite la stampante e il lettore Clojure
(def a (vec2 1 2))
(print-str a)
=> "#<Vector2 [1 2]>"
Idealmente mi piacerebbe la classe di stampare in una forma che può essere letto dal lettore Clojure. cioè mi piacerebbe quanto segue per restituire true:
(= a (read-string (print-str a)))
Qual è il modo migliore per raggiungere questa capacità round-intervento?
Non si vuole coinvolgere il 'EvalReader', suppongo? –
@ Marko: aperto ai suggerimenti. Non è specificamente concepito per un'API esterna - più per comodità al REPL e facile serializzazione/deserializzazione. – mikera
Penso che con 'read-eval' lasciato a true, il lettore saprà cosa fare con' # = (Vector2. 1 2) '. –