के माध्यम से जावा क्लास को राउंड-ट्रिपिंग करना मेरे पास जावा क्लास Vector2
है जो मैं क्लोजर रीडर के साथ "अच्छी तरह से खेलना" के लिए राजी करना चाहता हूं।क्लोजर प्रिंटर और रीडर
(def a (vec2 1 2))
(print-str a)
=> "#<Vector2 [1 2]>"
आदर्श रूप से मैं क्लास को क्लोजर रीडर द्वारा पढ़ा जा सकने वाले फॉर्म में प्रिंट करना चाहता हूं। अर्थात मैं सच लौटने के लिए निम्नलिखित करना चाहते हैं:
(= a (read-string (print-str a)))
इस राउंड ट्रिपिंग क्षमता को प्राप्त करने का सबसे अच्छा तरीका क्या है?
आप को शामिल करने के 'EvalReader', मुझे लगता है नहीं करना चाहते? –
@ मार्को: सुझावों के लिए खोलें। यह विशेष रूप से बाहरी एपीआई के लिए नहीं है - आरईपीएल और आसान क्रमबद्धता/deserialisation में सुविधा के लिए अधिक। – mikera
मुझे लगता है कि 'read-eval' को सच में छोड़ दिया गया है, पाठक को पता चलेगा कि' # = (वेक्टर 2। 1 2) 'के साथ क्या करना है। –