(deftype Bag [state]
Object
(toString [bag]
(str "Bag???" state)))
मैं toStringक्या clojure में एक deftype'd वस्तु के लिए एक अच्छा toString विधि है
clojure.core=> (def b (Bag. {:apples 1 :bannanas 4}))
#'clojure.core/b
clojure.core=> (str b)
"BAG: {:apples 1 :bannanas 4}"
कि जानकारी का प्रतिनिधित्व करने का एक अच्छा तरीका क्या है clojurey की तरह कुछ देखने के लिए करना चाहते हैं?
"Bag/{:k :v}"
बेहतर? समुदाय आप अपने टूस्ट्रिंग को कैसे कॉल करते हैं?
निम्न स्तर को परिभाषित करें। मैं नए संग्रह प्रकार (बैग और मल्टीमैप्स) बनाने की कोशिश कर रहा हूं। आप defrecord या deftype का उपयोग कब करते हैं और क्यों? –
डेफटाइप के साथ इस विधि का उपयोग एक java.lang.StackOverflowError –
हां, यदि आप नया संग्रह प्रकार बना रहे हैं, तो डेफटाइप शायद सही है, जबकि कुछ डोमेन डेटा की संरचना की तरह कुछ की आवश्यकता होने पर defrecord अधिक उपयुक्त है। –