मैं मानचित्र पर clojure.walk/stringify-keys
पर कॉल करने का प्रयास कर रहा हूं जिसमें रिकॉर्ड उदाहरण शामिल हो सकते हैं। चूंकि स्ट्रिंग-कुंजी रिकर्सिव है, इसलिए यह मेरे रिकॉर्ड पर चाबियाँ कन्वर्ट करने का प्रयास करता है, (क्योंकि (map? record-var)
सत्य है) जो त्रुटि का कारण बनता है। क्या यह बताने का कोई तरीका है कि एक var क्लोजर मानचित्र के बजाय एक var रिकॉर्ड है या नहीं? मैं डी stringify-keys
का अपना कार्यान्वयन प्रदान करना चाहता हूं जो रिकॉर्ड-जागरूक है।मानचित्र से रिकॉर्ड उदाहरण को अलग करना
stringify-keys
का वर्तमान क्रियान्वयन का कारण बनता है निम्नलिखित:
(use '[clojure.walk :only [stringify-keys]])
(defrecord Rec [x])
(let [record (Rec. "foo")
params {:x "x" :rec record}]
(stringify-keys params))
यह निम्नलिखित अपवाद का कारण बनता है: UnsupportedOperationException खाली नहीं बनाया जा सकता: user.Rec user.Rec (NO_SOURCE_FILE: 1)