Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (make-position x y)
- (define (get-x)
- x)
- (define (get-y)
- y)
- (define (set-x! new-value)
- (set! x new-value))
- (define (set-y! new-value)
- (set! y new-value))
- (define (position-dispatcher msg)
- (cond ((eq? msg 'get-x) get-x)
- ((eq? msg 'get-y) get-y)
- ((eq? msg 'set-x!) set-x!)
- ((eq? msg 'set-y!) set-y!)
- ))
- position-dispatcher)
- (define p1 (make-position 10 20))
- (define p2 (make-position 30 40))
- (define (print x)
- (display x)
- (newline))
- (print ((p1 'get-x)))
- (print ((p1 'get-y)))
- (print "---")
- ((p1 'set-x!) 5000)
- (print ((p1 'get-x)))
- (print ((p1 'get-y)))
- (print "---")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement