0
#lang swindle
(require swindle/misc
         swindle/setf
     )


(defclass* jacket ()
  (size :initvalue 40 :accessor sj)
  :printer #t)

(defclass* trousers ()
  (size :initvalue 44 :accessor st)
  :printer #t)

(defclass* suit (jacket trousers)

このコードをコンパイルして書くと(スーツを作る)| (ジャケットを作る) | make (ズボン) をインタープリターに入れると、戻り値は常にです#<procedure:swindleobj>が、 のようになるはず#<jacket size=40>です。

必要なものを見逃しましたか、それとも何が間違っていますか?

4

1 に答える 1

0

あなたのコードは私のために働いています:

#lang swindle
(defclass* jacket () (size :initvalue 40 :accessor sj) :printer #t)
(define x (make jacket))

(displayln x)
=> #<jacket: size=40>

(displayln (slot-ref x 'size))
=> 40

(displayln (sj x))
=> 40
于 2014-01-11T00:18:59.970 に答える