आम तुतलाना में मैंने देखा है कि मैं यह लिख सकते हैं:क्या मैं अन्य स्लॉट को डिफस्ट्रक्ट में संदर्भित कर सकता हूं?
(defun foo (&key (a 1) (b 2) (c (+ a b))) (print (+ a b c)))
और जब मैं (foo)
फोन, 6
छपा है। तो तर्क c
a
और b
के लिए मान सेट देख सकते हैं। लेकिन मुझे defstruct
के साथ कुछ ऐसा करने का कोई तरीका नहीं दिख रहा है। कुछ ऐसा:
CL-USER> (defstruct thing a b c)
THING
CL-USER> (setq q (make-thing :a 1 :b 2 :c (+ a b)))
; Evaluation aborted
CL-USER> (setq q (make-thing :a 1 :b 2 :c (+ :a :b)))
; Evaluation aborted
क्या ऐसा करने का कोई तरीका है?
आह, यह मैं क्या के लिए ... धन्यवाद उम्मीद थी की तरह लगता है! – casper