Ich habe eine Java-Klasse Vector2
, die ich gerne überreden würde, "schön" mit dem Clojure-Leser zu spielen.Round-tripping eine Java-Klasse durch den Clojure-Drucker und Leser
(def a (vec2 1 2))
(print-str a)
=> "#<Vector2 [1 2]>"
Idealerweise möchte ich, dass die Klasse in einer Form ausgedruckt wird, die vom Clojure-Leser gelesen werden kann. d. ich möchte, dass das Folgende wahr ergibt:
Was ist der beste Weg, um diese Rundauslösefähigkeit zu erreichen?
Sie wollen nicht die 'EvalReader' einzubeziehen, nehme ich an? –
@Marko: Offen für Vorschläge. Es ist nicht speziell für eine externe API gedacht - mehr für die Bequemlichkeit bei der REPL und einfache Serialisierung/Deserialisierung. – mikera
Ich denke mit 'read-eval' links zu true, wird der Leser wissen, was mit' # = (Vector2. 1 2) 'zu tun ist. –