Ben şöyle moleküler dinamik bazı iş için bir sınıf kuruyorum:Bir initform ne zaman kullanılır?
(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))))
Başlangıçta ben nasılsa bir initform yani (getmass ismi) ile Grup tanımına diğer yuvalara atıfta düşündüm - ama bu yanlış olduğu ortaya çıkar (ya da yapar?!?). Bunun yerine, başlangıç durumuna getirme örneğinin, tüm bu başlatma maddelerini yeterince adil bir şekilde yerine getirebileceği söylendi.
Sahip olduğum soru şu, ne zaman: initform kullanılır? Deyimsel tercih nedir? Bunu, (error "...") kodunu oluşturmak için yukarıdaki gibi kullandım ve ayrıca: initarg sağlanmadığında varsayılan argümanları başlatmak için gördüm. Ancak her ikisi de, başlangıç durumuna getirme sırasına kolaylıkla sığdırabilir ve orada daha anlamlı olabilir. Belirli bir yolu var mı: initform genellikle kullanılır?