मैं इस प्रकार आणविक गतिशीलता पर कुछ काम के लिए एक वर्ग बनाने हूँ:जब एक initform प्रयोग किया जाता है?
(defclass %atom (particle)
((name :initarg :name :initform (error "Every atom in the system must have a name!"))
(mass :accessor mass :initarg :mass :initform (getmass name))
(charge :accessor charge :initarg :charge :initform (getcharge name))))
शुरू में मैंने सोचा था कि मैं किसी भी तरह एक initform यानी (getmass नाम) के साथ वर्ग परिभाषा के दायरे में अन्य स्लॉट का उल्लेख कर सकते हैं - लेकिन यह है कि असत्य होने के लिए बाहर निकलता है (या यह करता है?!?)। इसके बजाय, मुझे बताया गया है कि कर रहा हूँ प्रारंभ-उदाहरण के सभी कि प्रारंभ सामान डालने के लिए जगह होगी ... पर्याप्त निष्पक्ष।
सवाल मैं, तब, जब जाता है है initform इस्तेमाल किया? मूर्खतापूर्ण वरीयता क्या है? मैंने देखा है यह (त्रुटि "...") कोड पैदा करने के लिए के रूप में ऊपर का इस्तेमाल किया, और यह भी डिफ़ॉल्ट तर्क प्रारंभ करने में एक जब: initarg प्रदान नहीं की है। लेकिन वे दोनों आसानी से प्रारंभिक उदाहरण में फिट हो सकते हैं और वहां और अधिक समझ सकते हैं। क्या कोई विशेष तरीका है: आमतौर पर इनिटफॉर्म का उपयोग किया जाता है?