2008. 8. 5.

연습문제 2.80

(define (=zero? v) (apply-generic '=zero? v))

(put '=zero? 'scheme-number
     (lambda (n) (= n 0)))

(define (=zero?rat r1)
  (and (= (denom r1) 0)
       (= (numer r1) 0)))

(put '=zero? 'rational
     (lambda (r) (=zero?rat r)))

(define (=zero?complex c1)
  (and (= (real-part c1) 0)
       (= (imag-part c1) 0)))

(put '=zero? 'complex
     (lambda (c) (=zero?complex c)))

댓글 없음:

댓글 쓰기