0
私は単純なクラス(スタック)のコード次き:Runコマンド
#lang racket
(define stackClass%
(class object%
(super-new)
(init-field (mystack '(A B C)))
(define/public (push n)
(set! mystack (cons n mystack)))
(define/public (pop)
(cond [(empty? mystack) #f]
[else (define res (car mystack))
(set! mystack (rest mystack))
res]))
(define/public (show)
mystack)
mystack ; I want to output mystack at time of creation of class object; not working here;
)); end class;
; USAGE:
(define sc (new stackClass%))
(send sc push 1)
(send sc push 2)
(send sc show)
(send sc pop)
(send sc show)
出力:
'(2 1 A B C)
2
'(1 A B C)
は、私はクラスオブジェクトの作成時に出力mystackしたいです。ただし、エラーは表示されませんが、このコードでは機能しません。次の代わり(init-field (mystack '(A B C)))
を使用して
も助けにはならない:
(init (L '(A B C)))
(define mystack L)
は、どのように私は、クラスの作成時にコードの一部を実行できますか?
私は非常に単純なものを見逃していたことを知っていました。ありがとう。 – rnso