0
나는 간단한 클래스 (스택)에 대한 다음 코드를했다 :실행 명령
#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