2013-10-03 4 views
5
CL-USER> (defclass a()()) 
CL-USER> (defclass b (a)()) 
CL-USER> (make-instance 'b) 
#<STANDARD-CLASS B> 

मैं अपने उदाहरण बी पर क्या अनुमानित फ़ंक्शन कॉल कर सकता हूं, जो टी को वापस देता है यदि उसे विरासत में मिला था? की नस में:सीएलओएस के उदाहरण के समानता? यह जांचने के लिए कि क्या किसी अन्य ऑब्जेक्ट से इंस्टेंस विरासत में मिला है?

CL-USER> (instanceof 'a *) 
T 

उत्तर

8

क्लास के नाम भी नाम लिखें कर रहे हैं ताकि: http://clhs.lisp.se/Body/04_cg.htm

या आप ऐसा कर सकता है:

(typep * 'a) 

घालमेल प्रकार और वर्गों देखें

(defmethod is-an-a-p ((x a)) 
    t) 
(defmethod is-an-a-p ((x t)) 
    nil) 
संबंधित मुद्दे

 संबंधित मुद्दे